哪些HTML标记支持name属性?
是否所有HTML标记都支持name属性,还是只有少数几个可以使用name属性?此外,是否所有标记都支持title属性 我问这个问题的原因是因为我需要在这些属性中存储关于当前元素的信息。 以下是一个例子:哪些HTML标记支持name属性?,html,Html,是否所有HTML标记都支持name属性,还是只有少数几个可以使用name属性?此外,是否所有标记都支持title属性 我问这个问题的原因是因为我需要在这些属性中存储关于当前元素的信息。 以下是一个例子: Word 我存储在属性中的这些附加信息将通过javascript获取。您可以添加自己的标记并通过javascript读取它们。这些标记必须以数据-开头: <div data-whatever="Information the world needs"></div>
Word
我存储在属性中的这些附加信息将通过javascript获取。您可以添加自己的标记并通过javascript读取它们。这些标记必须以
数据-
开头:
<div data-whatever="Information the world needs"></div>
根据名称
仅正式适用于以下元素:属性。这是HTML5的推荐方法,但也适用于较旧的浏览器。这也意味着您可以根据需要存储任意多个不同的额外数据
单词
您确实应该使用数据-
属性来存储它,但您可以始终使用名称
并像这样访问它:
<img src="example-image.jpg" alt="Example Image" title="Additional Information"
data-name="Even more info" data-other-info="Some other information" />
<div class="example-word" title="Information about this tag"
data-name="More information about this tag">Word</div>
但实际上,坚持使用数据-
标记不“支持”任何东西。HTML规范定义哪些属性对哪些元素有效。对于name
属性以及title
属性,这取决于HTML版本
浏览器不太关心规格。如果您的标记包含属性foo=bar
,那么它们很乐意将foo
包含在元素节点的attributes
属性中。它们可能会也可能不会使foo
成为节点本身的属性。对于title
,这种情况会发生,即“现代浏览器支持所有元素的title
”,这也意味着大多数浏览器将该属性实现为“工具提示”,这是一个可用性噩梦,但我离题了。对于name
,某些元素(而不是所有元素)会发生这种情况,对于表单中的控件,该属性也具有专门的含义(它会影响控件的值是否包含在表单数据中的问题)
存储数据的推荐方法是使用data-*
属性,因为除了在脚本或样式表中指定的内容外,它们保证没有任何意义和效果。您可能希望使用数据属性来存储信息,这样您就不必担心它是否受支持或是否有“保留”uses.No,name属性用于输入、选择和文本区域字段,用于在提交字段时为字段值命名。正如Juhana所说,在DOM元素上使用数据属性进行唯一的数据存储。
obj.getAttribute('name'); //Pure JavaScript
$(obj).attr('name'); //jQuery