Javascript 我如何瞄准<;a>;内部a<;部门>;?
我有以下代码:Javascript 我如何瞄准<;a>;内部a<;部门>;?,javascript,jquery,dom,Javascript,Jquery,Dom,我有以下代码: 上面的那些不起作用,因为您正在为div分配相同的id。您可能应该改用class属性: <div class="step2"><a>Damn</a></div> <div class="step2"><a>Damn</a></div> <div class="step2"><a>Damn</a></div> 也许是这样: <div
上面的那些不起作用,因为您正在为div分配相同的id
。您可能应该改用class属性:
<div class="step2"><a>Damn</a></div>
<div class="step2"><a>Damn</a></div>
<div class="step2"><a>Damn</a></div>
也许是这样:
<div class="step">
<div id="step2"><a>Damn</a>
<a>Damn</a>
<a>Damn</a></div>
</div>
<div class="step">
<div id="step2"><a>Damn</a>
<a>Damn</a>
<a>Damn</a></div>
</div>
该死
该死
该死
该死
该死
该死
对于初学者,按照JamesJohnson所说的去做,删除多个ID。他们只会给你带来麻烦
在上面的链接中,a
标记不是同级标记,因为您将每个标记放在自己的div
中。因此,您需要这样做才能从其他a
s中删除类:
$(this).parent().siblings('div').children('a').removeClass('active');
不幸的是,这破坏了较低链接的功能。通过向父兄弟姐妹添加和self
,您可以在这两个方面都取得成功:
$(this).parent().siblings('div').andSelf().children('a').removeClass('active');
使用无线电输入,您可以在不使用任何JS的情况下创建此效果,从其预期外观(红色背景“damn”)优雅地退化为旁边的无线电(发送相同信息)。
具有讽刺意味的是,JSFIDLE上的这个示例:
我的记忆有点模糊,但我很确定,如果不改变HTMli,这在旧版IE中是行不通的。事实上,我问这个问题是因为我不能编辑dom结构,它会破坏页面的样式,所以我需要在不改变HTMLO的情况下,在上链接上具有与下链接相同的效果。我不能改变htmlOh的结构,那么你被多个id的实例困住了?我很抱歉。我会用另一种方式重写下链接,因为我知道怎么做,唯一的问题是你刚刚解决了它,但我不能改变上面的html中的任何东西
$(this).parent().siblings('div').children('a').removeClass('active');
$(this).parent().siblings('div').andSelf().children('a').removeClass('active');