div addClass只在ONE div上

时间:2010-01-21 21:18:49

标签: javascript jquery html addclass

当我做类似的事情时:

$('#container').addClass("contract");

它只将类添加到具有id容器的第一个div

当我做类似的事情时:

$('.container').addClass("contract");

它将类添加到具有类容器的所有div

为什么?

3 个答案:

答案 0 :(得分:2)

每个元素ID必须是唯一的。 ID指向一个且仅指向一个属性。 Jquery或任何其他框架甚至不会认为您可能有多个具有特定id的元素。您的所有元素都需要具有不同的ID。 Javascript和DOM期望这样(例如,document.getElementByID将只返回一个元素,如果ID重复,它现在可能正常工作)。一切都期待着这一点。

答案 1 :(得分:1)

因为id属性在HTML文档中必须是唯一的。因此,当您找到第一个时,无需使用id="abc"搜索任何其他元素。

答案 2 :(得分:1)

元素的ID属性应该唯一标识它。类属性可以应用于多个元素。由于ID是唯一的,jQuery只会将它应用于与之匹配的第一个元素。