我有以下内容:
a = li.parent().parent().children('a, span');
我有一个循环设置,以链接开始并向上链。 如果我理解正确,那么上面的代码会选择一个链接,如果有一个跨度 跟着它。因此它正确选择:
<a ..>..<span>History</span> .. </a> and
<a ..>..<span>Overview</span> .. </a>
但我不想让它选择:
<a ..> ..<span class="toggle"></span>
来自以下HTML:
<ul id="menu" class="arbo with-title">
<li>
<a class="title-a">
<span>Overview</span></a>
<ul>
<li>
<span class="toggle"></span>
<a class="folder"><span>Background</span></a>
<ul>
<li><a data-href="/History" class="document-web"><span>History</span></a></li>
<li><a data-href="/eatures" class="document-web"><span>Features</span></a></li>
<li><a data-href="/Design-Goals" class="document-web"><span>Design Goals</span></a></li>
</ul>
</li>
<li>
有没有办法让我可以在这个问题的顶部做出选择 注意到切换类的跨度?类似的东西:
a = li.parent().parent().children('a, span(only if the element does not have a class of togggle)');
仅供参考,这是循环代码:
function populateBreadcrumb(a: JQuery, $breadcrumb: JQuery) {
while (a.length > 0) {
$breadcrumb.prepend('<li><a >'+a.html()+'</a></li>');
var li = a.parent();
a = li.parent().parent().children('a, span');
}
}
答案 0 :(得分:0)
您可以使用:not
选择器执行此操作:
a = li.parent().parent().children("a, span:not(.toggle)");
这应该可以解决问题。
虽然您可能希望使用find
代替children
来获取所有范围:
$("#menu").find("a, span:not(.toggle)");
jsfiddle:http://jsfiddle.net/mGv6N/
答案 1 :(得分:0)
a = li.parent().parent().children('a, span:not('.toggle')"));
将not
选择器与指定的类