在没有querySelector或getElementsByClassName的父级中按类查找元素

时间:2013-10-16 13:43:26

标签: javascript

关注我的代码:

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

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

1 个答案:

答案 0 :(得分: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,以便您可以在控制台查看ITERATIONS的原因。

希望你理解我的逻辑。

(我同意@MattBall)尝试 jQuery ,这里有干净的方法,比如.filter(), .find()等等。一旦你弄清楚它就会爱上你。