我有一些具有相同名称的div类,例如
<div class="Mydiv">
我想用名字&#34; MyDiv&#34;来搜索每个div。对于一个子
<div class="Subdiv">
如果有...
代码示例:
<div class="Mydiv">
</div>
<div class="Mydiv">
<div class="Subdiv">
</div>
</div>
答案 0 :(得分:1)
如果您想查看每个.Mydiv
,并在找到.Subdiv
时执行某些操作,如果找不到.Subdiv
则执行其他操作,您可以尝试以下操作:< / p>
mydivs = document.getElementsByClassName("Mydiv");
for(var i=0; i<mydivs.length; ++i) {
subdivs = mydivs[i].getElementsByClassName("Subdiv");
if (subdivs.length > 0) {
// do something
} else {
// no subdiv found in this Mydiv
}
}
答案 1 :(得分:0)
尝试:
[].slice.call(document.getElementsByClassName('Mydiv')).forEach(function(el) {
if (el.innerHTML.match(/class="[^"]*Subdiv"/)) {
// el is your div
}
});
答案 2 :(得分:0)
你可以这样做:
var targetDiv = document.getElementsByClassName("Mydiv").getElementsByClassName("Subdiv");
您将获得一个元素数组,以获得具有类.subdiv
添加索引0
var targetDiv = document.getElementsByClassName("Mydiv").getElementsByClassName("Subdiv")[0];
答案 3 :(得分:0)
我想知道.Mydiv是否有.Subdiv
以下是一种方法:
.Subdiv
元素内的每个.Mydiv
。.Mydiv
。
var divs = [].map.call(document.querySelectorAll('.Mydiv > .Subdiv'), function (subDiv) {
return subDiv.parentNode;
});
document.body.appendChild(document.createTextNode('Found ' + divs.length + ' .Mydiv that contains .Subdiv'));
&#13;
<div class="Mydiv">
</div>
<div class="Mydiv">
<div class="Subdiv"></div>
</div>
<div class="Mydiv">
<div class="Subdiv"></div>
</div>
<div class="Mydiv">
<div class="Subdiv"></div>
</div>
&#13;
答案 4 :(得分:0)
如果你使用jQuery:
$('.Mydiv').filter(function(i,e) {
return $('> .Subdiv', e).size() > 0;
});
找到所有&#34; Mydiv&#34;类和过滤器,如果它包含Subdiv类
答案 5 :(得分:0)
您可以使用querySelectorAll
和querySelector
[].forEach.call(document.querySelectorAll(".Mydiv"), function(mydiv) {
if(mydiv.querySelector('.Subdiv')) {
// do something
}
});
当querySelectorAll
返回 HTML集合而不是真正的数组时,您无法直接在其上运行.forEach
,因此[].forEach.call
< / p>