Rol*_*uhs 3 html javascript css
基本上,"name"属性用于服务器端编程(名称/值对在请求中发送),"id"属性用于客户端编程(即Javascript和CSS).
但两者都实现了基本相同的功能 - 提供元素的唯一标识.并且为了使事情变得复杂,如果一个东西只有一个标识符就很有用.
因此问题 - 对于需要"id"和"name"的标签:
有没有理由为name和id属性选择不同的标识符?是否存在需要使用不同标识符的用例?语法有什么不同吗?(例如,您可以使用"myarray [123]"作为name属性,PHP将正确理解并创建一个数组,也可以以类似的方式用于Javascript或CSS中的id属性 - 如果不是,则是语法错误或它只是一个有括号的有效标识符?)是否区分大小写?
有没有理由为name和id属性选择不同的标识符?
是.ID必须是唯一的,名称不一定是.对于无线电组的成员,名称必须相同,因此它们不能都具有相同的ID,实际上它们可以通过ID访问元素是有问题的.如果您不通过ID访问它们,为什么要这样做?
是否存在需要使用不同标识符的用例?
是的,单选按钮.只有一个可以具有与其名称相同的ID.但除此之外,几乎没有限制,比如永远不会给表单控件提供表单本身的方法或属性的名称或id,比如"submit",因为它会掩盖表单的同名属性.
名称" _charset_"和" isindex"也很特别.
语法有什么不同吗?(例如,您可以使用"myarray [123]"作为name属性,PHP将正确理解并创建一个数组,也可以以类似的方式用于Javascript或CSS中的id属性 - 如果不是,则是语法错误或它只是一个有括号的有效标识符?)
是.name和id属性值的规则类似,但ID不能包含空格(name的某些值是特殊的,请参见上文).HTML4中的id属性有更多限制(例如,ID不能以数字开头),但实际上它们并未在浏览器中实现.
必须引用一些在名称和ID中有效的字符用作CSS选择器,例如:
<div id="d[]">
Run Code Online (Sandbox Code Playgroud)
CSS选择器是:
#d\[\]
Run Code Online (Sandbox Code Playgroud)
并与Selectors API一起使用:
#d\\[\\]
Run Code Online (Sandbox Code Playgroud)
(例如document.querySelector('#d\\[\\]').
是否区分大小写?
是.