【发布时间】:2014-01-12 14:50:40
【问题描述】:
我有类似这样的 HTML 结构
<div id="DeltaPlaceHolderLeftNavBar">
<div>
<div>
<ul>
<li><a href="link1.php"><span class="someclass">LINK1</span></a>
<ul>
<li><a href="link1a.php"><span class="someclass">LINK1A</span></a></li>
</ul>
</li>
<li><a href="link2.php"><span class="someclass">LINK2</span></a></li>
</ul>
</div>
</div>
</div>
我想更改那些包含子 UL 的 LI 的 HREF。如您所见,LINK1 内部包含 UL,但 LINK2 没有,因此我编写了以下 jquery 代码,但它不起作用。
$('#DeltaPlaceHolderLeftNavBar div>div>ul>li>a').click(function()
{
if($(this).closest("li").children("ul").length > 0)
{
//the code comes inside this condition but following line doesn't work
$(this).closest("li").children("ul").attr("href","#");
}
});
编辑
在代码中添加“href”标签
编辑 在 HTML 中犯了一个错误,因为我忘记了我现在添加的一个 div。
【问题讨论】:
-
你为什么不把
a标签也放在你的代码中,这样我们就可以了解发生了什么...... -
你需要把
children('ul').attr('href','#')改成children('a').attr('href','#') -
也...
ul元素没有href属性.. -
你又问了同样的问题,你甚至将另一个问题标记为已回答......stackoverflow.com/questions/20757519/…