jQuery - HTML DOM 操作(四)

jQuery 中提供了一系列的 HTML DOM 操作的方法,比起原生 JavaScript 的 DOM 操作,显得更加地简便。

jQuery 中提供了获取元素的尺寸(宽度和高度)的方法,这些方法获取的尺寸不尽相同,下面就将这些方法进行介绍。

width()/height()

width(): 设置或返回元素的宽度(不包括 padding、border 和 margin);
height(): 设置或返回元素的高度(不包括 padding、border 和 margin)。

innerWidth()/innerHeight()

innerWidth(): 设置或返回元素的宽度(包括 padding,不包括 border 和 margin);
innerHeight(): 设置或返回元素的高度(包括 padding,不包括 border 和 margin)。

outerWidth()/outerHeight()

outerWidth(): 设置或返回元素的宽度(包括 padding 和 border,不包括 margin);
outerHeight(): 设置或返回元素的高度(包括 padding 和 border,不包括 margin)。

outerWidth(true)/outerHeight(true)

outerWidth(true): 设置或返回元素的宽度(包括 padding、border 和 margin);
outerHeight(true): 设置或返回元素的高度(包括 padding、border 和 margin)。

下面看一个例子,div 的 width=400px,height=400px,border=5px,padding=10px,margin=15px。

代码:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>尺寸</title>
    <script src="js/jquery-1.8.3.js"></script>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        #div1 {
            width: 400px;
            height: 400px;
            background-color: yellow;
            border: 5px solid red;
            padding: 10px;
            margin: 15px;
        }
    </style>
</head>
<body>
<div id="div1"></div>
<button id="btn1">width/height</button>
<button id="btn2">innerWidth/innerHeight</button>
<button id="btn3">outerWidth/outerHeight</button>
<button id="btn4">outerWidth(true)/outerHeight(true)</button>
<script>
    $(function () {
        // width():设置或返回元素的宽度(不包括 padding、border 和 margin)。
        // height():设置或返回元素的高度(不包括 padding、border 和 margin)。
        $("#btn1").click(function () {
            alert("width: " + $("#div1").width() + ", height: " + $("#div1").height());
        });

        // innerWidth():设置或返回元素的宽度(包括 padding,不包括 border 和 margin)。
        // innerHeight():设置或返回元素的高度(包括 padding,不包括 border 和 margin)。
        $("#btn2").click(function () {
            alert("innerWidth: " + $("#div1").innerWidth() + ", innerHeight: " + $("#div1").innerHeight());
        });

        // outerWidth():设置或返回元素的宽度(包括 padding 和 border,不包括 margin)。
        // outerHeight():设置或返回元素的高度(包括 padding 和 border,不包括 margin)。
        $("#btn3").click(function () {
            alert("outerWidth: " + $("#div1").outerWidth() + ", outerHeight: " + $("#div1").outerHeight());
        });

        // outerWidth(true):设置或返回元素的宽度(包括 padding、border 和 margin)。
        // outerHeight(true):设置或返回元素的高度(包括 padding、border 和 margin)。
        $("#btn4").click(function () {
            alert("outerWidth(true): " + $("#div1").outerWidth(true) + ", outerHeight(true): " + $("#div1").outerHeight(true));
        });
    });
</script>
</body>
</html>

效果演示:

尺寸.gif

注意: 从上面的演示可以看到,width()/height() 和 innerWidth()/innerHeight() 均比正常值多出 0.4px,笔者是在 1920x1080 的屏幕上演示的,而在 1366x768 的屏幕上则没有此问题。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Window和document对象的区别 window对象window对象表示浏览器中打开的窗口window对象是...
    FConfidence阅读 6,723评论 0 5
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,687评论 1 92
  • 前言 CSSOM全称CSS对象模型,涉及两部分内容,第一部分和操作样式表相关,第二部分和元素尺寸相关,本文介绍第二...
    江枫阅读 8,108评论 1 10
  • 请记得在进行JQuery类库的运用时,加入JQuery类库,并且要保证先写文档就绪函数 $(document).r...
    Sunshinemm阅读 7,938评论 1 40
  • oDiv.clientWidth, oDiv.clientHeight 兼容性:全兼容内容区域的宽度、高度,不包括...
    桃花島主阅读 2,688评论 0 0