gpt4 book ai didi

javascript:执行 appendChild(node) 然后尝试读取 node.clientWidth 失败

转载 作者:行者123 更新时间:2023-12-04 14:50:59 25 4
gpt4 key购买 nike


我在使用 DOM appendChild() 方法时遇到了问题。我创建一个节点,然后将此节点附加到父节点,然后我想读取 node.clientWidth 属性,但它返回 0,因为尚未绘制节点。这是我的代码:

var node = document.createElement('div');
node.textContent = 'some text';
parent.appendChild(node);
alert(node.clientWidth); //shows 0

我在节点上尝试了 onloadonshow 事件,但它们甚至没有被触发。我可以使用 setTimeout 并且它可以正常工作,但这不是一个完美的解决方案。有没有好的解决办法对于这个问题?
抱歉我的英语不好,非常感谢!

更新:好的,我明白我的问题了。当时的 Parent 没有附加到 DOM。抱歉,感谢您的宝贵时间

最佳答案

如果您真的希望它在浏览器知道后立即为您提供 clientWidth,您可以这样做:

var node = document.createElement('div');
node.textContent = 'some text';
parent.appendChild(node);
var width = node.clientWidth;
while (width == 0) {
width = node.clientWidth;
}
// stuff

关于javascript:执行 appendChild(node) 然后尝试读取 node.clientWidth 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13752447/

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