使用jQuery NOT选择器排除具有特定子元素的元素. [英] Using jQuery NOT selector to exclude elements with particular children.

查看:851
本文介绍了使用jQuery NOT选择器排除具有特定子元素的元素.的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have a function that appends some HTML to an element. It may get called more than once, so I only want it to append the HTML to elements that haven't already had the HTML added.

示例:

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

这样,我想选择所有没有.myAppendedMarkup直接子项的.divToAppendTo

As such, I'd like to select all .divToAppendTo that don't have an immediate child of .myAppendedMarkup

我的刺刺似乎不起作用:

My stab at it doesn't seem to work:

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

它总是在我调用时追加(从而复制内容).

It always appends when I call it (thereby duplicating the content).

推荐答案

尝试

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

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

这篇关于使用jQuery NOT选择器排除具有特定子元素的元素.的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆