<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 将停止寻找另一个元素。
通过使用namein$('[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 将确保一定程度的唯一性。