今天被问到html元素中width 的属性值 为100.5px时,jquery 获取时向上取整101px;做了一个测试
<!DOCTYPE html>
<html>
<head>
<script src="jquery.1.11.3.min.js"></script>
</head>
<body>
<div id="div1" style="width:100.5px;height:100.5px;">1</div>
<div id="div2" style="width:10%;height:10%;">2</div>
<script>
console.info("js "+document.getElementById("div1").style.width);
console.info("jquery "+$("#div1").css("width"));
console.info("js "+document.getElementById("div2").style.width);
console.info("jquery "+$("#div2").css("width"));
</script>
</body>
</html>
javascript能够取得100.5px; 原因在于javascript取到的属性文本值
jquery 取到101:原因 jquery获取浏览器解析html 元素的width属性值(猜测)
这里理解有些奇怪:所以我用了百分比设置,来证明猜测是否正确
js 100.5px
jquery 101px
js 10%
jquery 94px
结果证明,这样理解还是可以的。