二、元素的位置和距离
2.1 定位父元素 offsetParent
子绝父相中的父
该元素不一定是父节点中的parentNode
dom结构:
1 |
|
此时box2相对于box进行定位
如何通过box2得到定位父元素呢?
console.log(box2.offsetParent);
1 | <script> |
结果:
2.2 定位值 offsetLeft 和offsetTop
元素的定位值也是经常要获取的值,所以dom也提供了相应的属性来获取
快速获取元素的定位值的方式:
距离自己定位父元素的左边距离:offsetLeft
距离自己定位父元素的上边距离:offsetTop
1 | // 获取box2的定位值 |
该属性存在兼容性问题:
在高级浏览器中:是从子元素的边框外到父元素的边框内
在IE中:是从子元素的边框外到父元素的边框外 也就是说多算了一条父元素的边框
在IE中输出定位值:
1 | #box { |
2.3 jquery中的定位值
使用方式:
$(dom).position()
返回值是一个对像
对象中包含left,就是dom的定位left值;同时包含top,就是dom的定位top值
执行代码:
1 | // 获取box2的定位值 |
输出结果: