Javascript中子元素的offSetParent属性怎么都指向body元素?

今天通过Javascript求元素的offSetLeft的时候,发现无论子元素的直接父元素是不是body,通过offSetParent取得的都是body元素。比如:


<html>

<body id = "body">

    <div id = "div1">

        <div id = "div2">

            <img id  = "img" src="./example.png" alt="example">

        </div>

    </div>

</body>

</html>

通过document.getElementById("img").offSetParent取得的是body元素,为什么会跳过其它的父级元素(div元素)?

https://img3.mukewang.com/5cb18aa500017eeb07930151.jpg

茅侃侃
浏览 423回答 1
1回答

不负相思意

因为外层的DIV没有进行定位,你需要使用 absolute或relative进行定位。html in standards compliant mode; body in quirks rendering mode当没有定位过的父标签,会根据html文档模式返回不同的标签。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript