我正在努力尝试并且无法使其发挥作用。我有一个ul class =“first”。从模板中的所有ul的“第一个”开始,我只需要选择那些包含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", "#");
};
答案 0 :(得分:3)
$('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", "#");
};