DA.*_*DA. 16 jquery jquery-selectors
我有一个函数将一些HTML附加到元素.它可能不止一次被调用,所以我只希望它将HTML附加到尚未添加HTML的元素中.
例:
<div class="divToAppendTo"></div>
<div class="divToAppendTo"><span class="myAppendedMarkup"></span></div>
Run Code Online (Sandbox Code Playgroud)
因此,我想选择没有.myAppendedMarkup的直接孩子的所有.divToAppendTo
我对它的刺痛似乎不起作用:
$(".divToAppendTo:not(>span.myAppendedMarkup)")
Run Code Online (Sandbox Code Playgroud)
它总是在我打电话时附加(从而复制内容).
Rus*_*Cam 17
尝试
$("div.divToAppendTo:not(:has(span.myAppendedMarkup))")
Run Code Online (Sandbox Code Playgroud)
要么
$("div.divToAppendTo").filter(function() {
return $(this).children('span.myAppendedMarkup').length == 0;
});
Run Code Online (Sandbox Code Playgroud)
如果你不介意,我想我可能会有一个更容易的解决方案,你正在尝试做什么.
每当你.divToAppendTo以$(this).removeClass("divToAppendTo");
这种方式附加HTML时,你只需要选择,.divToAppendTo同时确保它没有附加任何代码.
如果您将此类用于其他内容,则可以始终使用另一个类来执行此操作.
你可以做:
$(".divToAppendTo:not(:has(span.myAppendedMarkup))");
Run Code Online (Sandbox Code Playgroud)