在下面的html文件中,jquery不会为所有id="0"
的背景着色。
jquery这只着色唯一的第一个id。
如何使所有id="0"
都用jquery着色?
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<table>
<tr>
<td align="center" style="padding-top: 15px;" id="0">0</td>
</tr>
<tr>
<td align="center" style="padding-top: 15px;" id="0">0</td>
</tr>
</table>
<script>
$(document).ready(function(){
$("td#0").css("background-color", "rgba(201, 221, 237, 0.99)");
});
</script>
答案 0 :(得分:2)
id必须是唯一才能正常工作。当您尝试查找具有重复ID的元素时,浏览器只会为您提供其中一个。
您应该使用不同的方法来查找元素,例如向元素添加类,或者将id放在表上并使用它来选择元素。
为了完整性,实际上仍然可以找到具有重复ID的所有元素,但是您必须将其视为属性:
$("td[id='0']").css("background-color", "rgba(201, 221, 237, 0.99)");
当然,如果你不能改变HTML代码,你应该只使用它,而id是选择元素的唯一方法。