我正在循环访问一些元素,需要确定某个元素是否有带有 li 标记的子元素(孙子?),如下面的信息元素所示。 li 元素的 id 会有所不同,因此我不会以这种方式引用它们。我当前正在循环 li 元素,如果我检查子元素,它总是返回 true,因为有“a”标签子元素,我只想检查“lil”标签子元素。
<ul id="navMenu">
<li id="home"><a href="#home" rel="ajax">Home</a></li>
<li id="information"><a href="#information" rel="ajax">Information</a>
<ul>
<li><a href="#credits" rel="ajax">Credits</a></li>
<li><a href="#lorem_ipsum" rel="ajax">Lorem Ipsum</a></li>
</ul>
</li>
<li id="contact"><a href="#contact" rel="ajax">Contact</a></li>
</ul>
这是我现在拥有的...
$('#test').load('../common.html #navMenu', function() {
$.each($("#test #navMenu li"), function(i,v) {
var theElement = $(v);
if ($(theElement).children('li')){
alert('This Element has children');
}
});
});
再次感谢您, 托德
最佳答案
你可以尝试 -
$('#test').load('../common.html #navMenu', function() {
$.each($("#test #navMenu li"), function(i,v) {
var theElement = $(v);
if ($(theElement).find('li').length > 0){
alert('This Element has children');
}
});
});
find
将比 children
更深入当前元素,后者仅向下搜索一级。
关于javascript - 确定元素是否有带 X 标签的子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8194378/