我一直在尝试,但无法使其发挥作用。我有一个 ul class="first"。从模板中的所有 ul 的“first”中,我只需要选择那些包含 ul class="second"的内容,并将所选的 h2 href 更改为“#”。问题是,当我发现这个特定的“第一”和“第二”时,我可以毫无问题地更改“第二”参数,但我无法弄清楚如何影响“第一”。
这是同时包含 js 和 html 的链接: http://jsbin.com/acoqi/edit
HTML:
<ul id="Menu">
<li>
<span id="primary">
<h1>
<a href="#">Bags</a>
</h1>
</span>
<ul class="first">
<li>
<span id="secondary">
<h2>
<a href="/category/category/bags_/">Bags</a>
</h2>
</span>
<ul class="second">
<li>
<h3>
<a href="/category/category/shoulderbag/">Shoulder Bags</a>
</h3>
</li>
</ul>
</li>
<li>
...
</li>
</ul>
</li>
<li>
<ul class="first">
<li>
<span id="secondary">
<h2>
<a href="/category/category/bags_/">Bags</a>
</h2>
</span>
</li>
</ul>
JS:
var second = $(".second");
if(second.length && second.closest(".first")) {
$(".first h2 a").attr("href", "#");
};
最佳答案
我认为您正在寻找 :has 选择器
$('ul.first:has(ul.second) h2 a').attr("href", "#");
或者,更接近您正在做的事情:
var second = $(".second");
if(second.length && second.closest(".first")) {
second.closest(".first").find("h2 a").attr("href", "#");
};
关于jquery - 按条件选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2362115/