【问题标题】:How can I apply this function to all elements with the same ID, not just the first? [duplicate]如何将此函数应用于具有相同 ID 的所有元素,而不仅仅是第一个? [复制]
【发布时间】:2013-11-30 22:23:00
【问题描述】:
<script>
$(document).ready(function(){
$("#coiso").addClass("four");
});
</script>
<div id="coiso">1</div>
<div id="coiso">1</div>
<div id="coiso">1</div>
<div id="coiso">1</div>
<div id="coiso">1</div>
jsFiddle
【问题讨论】:
-
您的 div 没有名称,它们有 ids,在文档中应该是唯一的。使用class 属性对 HTML 元素进行分组。
-
-
如果你真的需要使用 id,你可以使用 :first 选择器,就像我使用 jsfiddle.net/8Xgbd 一样,但在这种情况下类要好得多
标签:
javascript
jquery
html
apply
【解决方案1】:
“id”应该是唯一的。这就是我解决类似问题的方法。
<script>
$(document).ready(function(){
$("div[data-id]").addClass("four")
});
</script>
<div id="coiso" data-id="">1</div>
<div id="coiso1" data-id="">2</div>
【解决方案2】:
没错,一个 id 确实应该是唯一的。这是一种不好的做法,我建议您尊重标准。
有了一个类,在 JavaScript 中,你可以用这样的东西做同样的事情:
var Elements = document.getElementsByClassName('NameClass');
jQuery,不知道有没有类似的方法。如果是这样,您可以在他网站上的文档中找到它。