Javascript 从不带querySelector或getElementsByClassName的父级按类查找元素
我的代码如下:Javascript 从不带querySelector或getElementsByClassName的父级按类查找元素,javascript,Javascript,我的代码如下: <div id="test"> <div> <div class="find_me"></div> </div> </div> 我不想使用querySelector或getElementsByClassName,如何为id“test”中的每个元素创建while循环,直到找到类为“find_me”的div 如果我理解正确的话 1) 获取测试元素的子元素。(此处变量为子变量)
<div id="test">
<div>
<div class="find_me"></div>
</div>
</div>
我不想使用querySelector或getElementsByClassName,如何为id“test”中的每个元素创建while循环,直到找到类为“find_me”的div 如果我理解正确的话 1) 获取测试元素的子元素。(此处变量为
子变量
)
2) 迭代它们中的每一个,因为它也需要再次迭代,我正在迭代它的子级。(不确定JS为什么有这样的结构)(变量是子项
)
最终代码:
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");
}
}
}
var child=document.getElementById('test').children;
对于(变量i=0;i
我包含了一个,这样您就可以在控制台中检查迭代的原因
希望你理解我的逻辑
(我同意@MattBall)试试jQuery,它有一些干净的方法,比如
.filter(),.find()
等等,一旦你把手弄脏了,你就会爱上它。为什么?您需要支持传统浏览器吗?如果是这样的话,你为什么不使用像Sizzle(又名jQuery选择器)这样的库呢?但是与其包含一个强大的外部文件,还不如做一件事就足够了吗?不,不要重新发明轮子。使用图书馆,继续解决实际问题。为什么-1?我违反了规则的哪一部分?“询问代码的问题必须表明对正在解决的问题的最低理解。包括尝试的解决方案、为什么它们不起作用以及预期的结果。另请参见:“@user2886519我很高兴我能帮上忙:)
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");
}
}
}