gpt4 book ai didi

javascript - 使用条件遍历 dom 元素的最佳方法?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:45:18 25 4
gpt4 key购买 nike

从页面中找到与我需要的大小相匹配的所有元素并减少浏览器过载的最佳方法是什么?

最重要的是让浏览器不会过载,如果页面上有很多元素,浏览器也不会崩溃。

我现在使用的是:

elements = document.getElementsByTagName("*");
len = elements.length;
for(var i = 0; i < len; i++)
if(elements[i].clientHeight == MyHeight && elements[i].clientWidth == MyWidth)
{ /*my code*/ }

拜托,如果有人知道更好的方法,不会像我现在使用的那样对浏览器造成太大压力,那么这就是我需要的。

最佳答案

如果你绝对必须这样做,递归地遍历树会更有效,因为一旦你找到一个小于你需要的元素,你就不知道里面的任何东西它可以是所需的尺寸。在大多数情况下似乎仍然会有更好的解决方案,但我不知道您的具体问题。

编辑:

这有效。

function findElements( width, height, element ){
var results = Array();

for( var i=0; i<element.childNodes.length; i+=1 ){
var childElement = element.childNodes[i];

if( childElement.clientWidth == width && childElement.clientHeight == height ){
results.push(childElement);
results = results.concat(findElements(width, height, childElement));

} else if( childElement.clientWidth < width || childElement.clientHeight < height ){
continue;

} else {
results = results.concat(findElements(width, height, childElement));
}
}

return results;
}

findElements(myWidth, myHeight, document);

关于javascript - 使用条件遍历 dom 元素的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17909620/

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