Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我如何瞄准<;a>;内部a<;部门>;?_Javascript_Jquery_Dom - Fatal编程技术网

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');