0
我想只删除那些没有自定义属性的ul。我正在尝试这个删除所有不包含自定义属性的UI's
$myParent.children('li ul:not("ul[isClicked=True]")').remove();
但无法让它工作。任何帮助,将不胜感激。
我想只删除那些没有自定义属性的ul。我正在尝试这个删除所有不包含自定义属性的UI's
$myParent.children('li ul:not("ul[isClicked=True]")').remove();
但无法让它工作。任何帮助,将不胜感激。
如果我理解正确的话,你想删除包含li
s的属性isClicked
的ul
S = "True"
:
$myParent.find("li[isClicked=True]").parent("ul").remove();
请注意,属性必须包含单词"True"
;它是一个字符串,而不是布尔值。
从下面的评论:
我找反之亦然实际。删除所有没有自定义属性的ul。
那是你的问题的开头一句的相反(“我只想删除与李有一个自定义属性上的UL”)。 :-)假设ul
元素是$myParent
的直接子元素(您的示例代码暗示了这一点),您可以这样做:如果这不是真的,只是在第一行改变.children
到.find
:
$myParent.children("ul").each(function() {
var $ul = $(this);
if (!$ul.find("li[isClicked=True]")[0]) {
// Doesn't have one, remove it
$ul.remove();
}
});
FWIW,该属性名称不会validate。您可以考虑切换到data-*
attribute form。
我正在寻找反之亦然。删除所有没有自定义属性的ul。 – ankur 2012-03-22 11:21:11
@ankur:这与你问题的开头句子相反。 – 2012-03-22 11:21:50
我会更新第一行,抱歉。 – ankur 2012-03-22 11:24:02