<input type ="button" name="buttonsel" id="buttonse1"/>
$("#buttonse1")
VS$("[name=buttonse1]")
jquery中使用name和id有什么好处
<input type ="button" name="buttonsel" id="buttonse1"/>
$("#buttonse1")
VS$("[name=buttonse1]")
jquery中使用name和id有什么好处
编辑
在此处查看完整的详细信息:http: //mindprod.com/jgloss/htmlforms.html#IDVSNAME
Id 可以识别元素的唯一性。
有效的 html 包含每个元素的唯一 ID。
<input type ="button" name="buttonsel" id="buttonse1"/>
<input type ="button" name="buttonsel" id="newbutton"/>//valid for both id and name
<input type ="button" name="buttonsel" id="buttonse1"/>//not valid as id repeated but name is valid even if repeated
但是您可以为可能无法不均等地找到元素的多个项目赋予相同的名称。
按 ID 选择仍然比 jquery 中的名称更快。
好的,$("#")
与 JS 原生相比document.getElementById()
速度较慢,但它是您能找到的最快的 jQuery 选择器。但不要在意速度。#
很简单#
,你的 DOM 中只有一个,对吗?
访问属性总是较慢,如果我们考虑到我们计划name
像我们正在处理的那样使用classes
并且我们计划拥有 1000 多个具有相同名称的元素....如果这是您所关心的,那么您可以进行一些速度测试.
无论如何,如果您已经拥有一个 ID,并且您知道该 ID 是哇!比你告诉我 1 为什么不使用它的原因?:)
如果您正在使用,id
那么您将只选择 1 个元素,如果您已经找到一个元素,JS 将停止寻找另一个元素。
通过使用name
in$('[name="something"]')
你可以拥有超过 1 个元素。jQuery 将在每个 HTML 节点中查找name="something"
. 并且name
属性仅对input
元素有效(即使您可以在其他元素中使用它)。此外,可以有多个具有name
属性的有效元素(例如:<input type="radio"/>
和<input type="checkbox"/>
)。
ID
是独特的。所有 HTML 元素都支持ID
属性。在 jQuery 中,使用id
选择器比使用更快name
NAME
不是唯一的,多个元素可以共享相同name
的 . NAME
属性仅适用于a
,form
和input
元素。
最重要的是,您会发现在选择器中使用#id 会快得多。看这里:
http://www.componenthouse.com/jQuery-Performance-analysis-of-selectors-td20.html
其次,与在选择器中使用名称不同,HTML 元素上的 ID 将确保一定程度的唯一性。