jquery - 使用 jQuery NOT 选择器排除具有特定子元素的元素。

标签 jquery jquery-selectors

我有一个函数可以将一些 HTML 附加到元素上。它可能会被多次调用,因此我只希望它将 HTML 附加到尚未添加 HTML 的元素。

示例:

<div class="divToAppendTo"></div>
<div class="divToAppendTo"><span class="myAppendedMarkup"></span></div>

因此,我想选择所有没有 .myAppishedMarkup 直接子级的 .divToAppendTo

我的尝试似乎不起作用:

$(".divToAppendTo:not(>span.myAppendedMarkup)")

当我调用它时,它总是附加(从而复制内容)。

最佳答案

尝试

$("div.divToAppendTo:not(:has(span.myAppendedMarkup))")

$("div.divToAppendTo").filter(function() { 
    return $(this).children('span.myAppendedMarkup').length == 0;  
});

关于jquery - 使用 jQuery NOT 选择器排除具有特定子元素的元素。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1730609/

相关文章:

javascript - JSON编码的数组,如何在jQuery中使用

javascript - 单击 jQuery Accordion 时激活 javascript 函数

javascript - $element.click 与 $('element' ).click

jquery - 我如何使用 jQuery 来定位这个目标? (图像)

javascript - 如果没有搜索结果则显示消息

javascript - 获取 AJAX GET 请求以与 Express.js 配合使用

javascript - Jquery 选择器不带通配符

php - 如何使用变量来处理 Jquery 选择器

javascript - 如何隐藏具有给定类的所有元素的父元素,但父元素也具有特定类?

jQuery - 多个相同 IF 条件的简写并同时匹配多个元素?