2010-01-21 87 views
2

当我做一样的东西:DIV addClass一个DIV

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

只添加类到第一个div id为容器

当我这样做:

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

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

为什么?

回答

2

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

1

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

1

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