gpt4 book ai didi

javascript - 为什么使用 getClientRects() 的相同代码会产生不同的结果?

转载 作者:太空狗 更新时间:2023-10-29 15:39:37 28 4
gpt4 key购买 nike

我有下面的代码片段。如果您按“运行代码片段”,那么您将看到以下内容

1 - p.getClientRects().length

2 - span.getClientRects().length

但是如果您先按“展开代码片段”,然后再按“运行代码片段”,那么您会看到一些不同的结果:

1 - p.getClientRects().length

1 - span.getClientRects().length

我只想了解 Element.getClientRects() 方法。但这种情况让我崩溃。您能解释一下为什么会产生不同的结果吗?

我的浏览器是:Chrome Version 67.0.3396.99 (Official Build) (64-bit)

var p = document.querySelector('p');
var span = document.querySelector('span');

console.log(p.getClientRects().length, "- p.getClientRects().length");
console.log(span.getClientRects().length, "- span.getClientRects().length");
p {
border: 1px solid green;
}
span {
border: 1px solid red;
}
<p>
This is a paragraph with
<span>Span Element having a looooooooooooooooooooooo nnnnnnnnnnnnnnnnnnnn ggggggggggggggggg text</span>
</p>

最佳答案

未展开,文本换行,因此您有两个独立的矩形:

enter image description here

展开后,所有的文本都在一行中,所以你只有一个矩形:

enter image description here

关于javascript - 为什么使用 getClientRects() 的相同代码会产生不同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53691154/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com