javascript - 确定元素是否有带 X 标签的子元素

标签 javascript jquery traversal

我正在循环访问一些元素,需要确定某个元素是否有带有 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/

相关文章:

javascript - zip.js 读取 zip 中的文件名。 (仅限客户端脚本)

javascript - 如何在按键上调用已定义的函数?

javascript - 如何在 jQuery 中将可点击图像定位到浏览器顶部

javascript - 在自定义 div 上滚动时显示隐藏元素

java - 霍夫曼树的遍历辅助方法

javascript - 通过单击 Google map 上的标记来打开 div 而不是 infowindow

javascript - 如何使用 D3.js 访问 JSON 数据?

javascript - Angular 使用从 Assets 文件夹导入

scala - scalaz 中的笛卡尔积遍历

r - 如何遍历对角条状矩阵并返回每个位置的索引?