【发布时间】:2009-04-05 20:07:59
【问题描述】:
复制:
有时,当我想选择一个 ID(唯一)到某物(图像)时,我使用 jquery 在悬停或单击时执行操作。
但同样的事情也可以用类来完成。我知道这个类有很多用途(比如说 class="selected"),但是当一个类被添加到某个东西时,我可以触发一个 jQuery 操作,该类插入了 ID...
所以问题是,如果我可以同时完成任何事情,那么使用类和 ID 的“正确方法”是什么!
【问题讨论】:
复制:
有时,当我想选择一个 ID(唯一)到某物(图像)时,我使用 jquery 在悬停或单击时执行操作。
但同样的事情也可以用类来完成。我知道这个类有很多用途(比如说 class="selected"),但是当一个类被添加到某个东西时,我可以触发一个 jQuery 操作,该类插入了 ID...
所以问题是,如果我可以同时完成任何事情,那么使用类和 ID 的“正确方法”是什么!
【问题讨论】:
两者之间的简单区别在于,虽然一个类可以在一个页面上重复使用,但一个 ID 只能在每个页面上使用一次。因此,在标记页面主要内容的 div 元素上使用 ID 是合适的,因为只有一个主要内容部分。相反,您必须使用一个类来设置表格上的交替行颜色,因为根据定义,它们将被多次使用。
ID 是一个非常强大的工具。具有 ID 的元素可以是一段 JavaScript 的目标,该 JavaScript 以某种方式操纵该元素或其内容。 ID 属性可以用作内部链接的目标,将锚标记替换为名称属性。最后,如果您使您的 ID 清晰且合乎逻辑,它们可以作为文档中的一种“自我文档”。例如,如果块的开始标签的 ID 为“main”、“header”、“footer”,则不必在块之前添加注释说明代码块将包含主要内容"等。
【讨论】:
不同之处在于,ID 对文档来说是唯一的,因此它只能用于给定 HTML 页面上的一个元素。
另一方面,类更像是元素的类别。例如,如果您查看单个博客文章,通常会在其下方显示对该博客条目创建的 cmets,您可以为所有这些 cmets 指定类“comment”,并为单个博客条目指定 ID“条目” .
【讨论】:
一个 HTML ID 只能应用于单个元素,而一个类可以用于多个元素,这使得它更加灵活。
【讨论】:
ID 唯一标识整个文档中的一个元素,而类名就像一个“标签”——一个元素可以添加许多标签,并且这些标签可以重复使用。
这是一个比较列表:
@987654321@<b>#someid</b>。类无法做到这一点。document.getElementById('someid')(或 jQuery 中的 $("#someid"))。请注意,像 jQuery 这样的库也可以通过类名来查找元素,但效率不高。ID 的其他属性
document.getElementById() 中仍然可以工作。例如,基于该 ID 的 CSS 选择器可能会匹配多个元素,就好像它是一个类一样。这是一个非常混乱的情况,你永远不应该依赖它。如果浏览器停止尝试支持这一点,我会很高兴。【讨论】: