我对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?
答案 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为止!