-1

按照我的代码:

<div id="test">
    <div>
       <div class="find_me"></div>
    </div>
 </div>

我不想使用 querySelector 或 getElementsByClassName,如何为 id 'test' 中的每个元素创建一个 while 循环,直到找到具有类 'find_me' 的 div?

4

1 回答 1

1

如果我理解正确

1)获取测试元素的孩子。(这里的变量是child

var child = document.getElementById('test').children;

2)迭代它们中的每一个,因为它还需要再次迭代我正在迭代它的孩子。(不知道为什么JS有这样的结构)(变量是children

 var children = child[i].children;

最终代码:

var child = document.getElementById('test').children;
for (var i = 0; i < child.length; i++) {
    var children = child[i].children;
    for (var i = 0; i < children.length; i++) {
        if (children[i].className == "find_me") {
            alert("Yup, here I am");
        }
    }
}

我包括一个jsfiddle,以便您可以在控制台中检查迭代的原因。

希望你明白我的逻辑。

(我同意@MattBall)试试jQuery,这有诸如等之类的干净方法.filter(), .find(),一旦你动手,你会爱上它。

于 2013-10-16T13:58:05.743 回答