当我做类似的事情时:
$('#container').addClass("contract");
它只将类添加到具有id容器的第一个div
当我做类似的事情时:
$('.container').addClass("contract");
它将类添加到具有类容器的所有div
为什么?
答案 0 :(得分:2)
每个元素ID必须是唯一的。 ID指向一个且仅指向一个属性。 Jquery或任何其他框架甚至不会认为您可能有多个具有特定id的元素。您的所有元素都需要具有不同的ID。 Javascript和DOM期望这样(例如,document.getElementByID将只返回一个元素,如果ID重复,它现在可能正常工作)。一切都期待着这一点。
答案 1 :(得分:1)
因为id
属性在HTML文档中必须是唯一的。因此,当您找到第一个时,无需使用id="abc"
搜索任何其他元素。
答案 2 :(得分:1)
元素的ID属性应该唯一标识它。类属性可以应用于多个元素。由于ID是唯一的,jQuery只会将它应用于与之匹配的第一个元素。