找到相同id jquery的第二个id

时间:2015-02-26 15:02:51

标签: jquery html

我对sharepoint解决方案中具有相同ID名称的元素有一点问题。

我正在尝试使用jquery在

中添加一个类:

HTML:

<div id="DeltaPlaceHolderMain">
    <a id="mainContent" name="mainContent" tabindex="-1"></a>
    <div style="padding-left:5px">

如果我在控制台中编写这个Jquery行:

$('#DeltaPlaceHolderMain');

我没有得到我想要添加类的div,因为有多个#DeltaPlaceHolderMain id。

所以我的问题是如何使用jquery仅选择第二个#DeltaPlaceHolderMain?

3 个答案:

答案 0 :(得分:1)

ID必须唯一!! 将其更改为类,否则您的HTML将无效。

将它们转换为课程后,您可以

$('.DeltaPlaceHolder').eq(1); // eq takes an element at the given index and 1 is second

要将其更改为班级,只需将id替换为class

即可

答案 1 :(得分:0)

Id s 必须是唯一的如果您无法更改,则可以使用[att=val]选择器。

$('#DeltaPlaceHolderMain').addClass('selected');

$('[id=\'DeltaPlaceHolderMain2\']').addClass('selected');
.selected { background: orange; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div id="DeltaPlaceHolderMain">
  <a id="mainContent" name="mainContent" tabindex="-1">1</a>
  <div style="padding-left:5px"></div>
</div>
<div id="DeltaPlaceHolderMain">
  <a id="mainContent" name="mainContent" tabindex="-1">2</a>
  <div style="padding-left:5px"></div>
</div>
<div id="DeltaPlaceHolderMain">
  <a id="mainContent" name="mainContent" tabindex="-1">3</a>
  <div style="padding-left:5px"></div>
</div>
<div id="DeltaPlaceHolderMain2">
  <a id="mainContent" name="mainContent" tabindex="-1">4</a>
  <div style="padding-left:5px"></div>
</div>
<div id="DeltaPlaceHolderMain2">
  <a id="mainContent" name="mainContent" tabindex="-1">5</a>
  <div style="padding-left:5px"></div>
</div>

答案 2 :(得分:0)

当然,ID必须是唯一的,但有时这是您无法控制的,当您与第三方合作时,他们不愿意更改代码,或者他们必须等待部署。感谢那些提供解决方案的人,直到可以更改ID为止!