2

当我做类似的事情时:

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

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

当我做类似的事情时:

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

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

为什么 ?

4

3 回答 3

2

每个元素 ID 必须是唯一的。一个 ID 指向一个且只有一个属性。Jquery 或任何其他框架甚至不会考虑您可能拥有多个具有特定 id 的元素。您的所有元素都需要具有不同的 ID。Javascript 和 DOM 期望这一点(例如 document.getElementByID 将只返回一个元素,如果 ID 重复,现在可能完全可以工作)。一切都在预料之中。

于 2010-01-21T21:21:54.313 回答
1

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

于 2010-01-21T21:21:30.600 回答
1

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

于 2010-01-21T21:21:47.543 回答