html name 和 id 区别

来源:互联网 发布:灵格斯for mac 编辑:程序博客网 时间:2024/05/29 13:49

今天又被这两个弄糊涂了 稍微留意一下 还是有区别的

当然HTML元素的name属性在页面中也可以起那么一点ID的作用,因为在DHTML对象树中,我们可以使用document.getElementsByName来获取一个包含页面中所有指定Name元素的对象数组。Name属性还有一个问题,当我们动态创建可包含Name属性的元素时,不能简单的使用赋值element.name = “…”来添加其Name,而必须在创建Element时,使用document.createElement('<element name = "myName"></element>')为元素添加Name属性。这是什么意思啊?看下面的例子就明白了。

< script  language ="JavaScript" >  var  input  =  document.createElement('INPUT'); input.id  =  'myId'; input.name  =  'myName'; alert(input.outerHTML);</ script >

消息框里显示的结果是:<INPUT id=myId>

< script  language ="JavaScript" >  var  input  =  document.createElement(' < INPUT name = " myName " > '); input.id  =  'myId'; alert(input.outerHTML);</ script >

消息框里显示的结果是:<INPUT id=myId name=myName>

name与id 区别
id要符合标识的要求,比如大小写敏感,最好不要包含下划线(因为不兼容CSS)。而name基本上没有什么要求,甚至可以用数字。table、tr、td、div、p、span、h1、li等元素一般用id。与表单相关的元素也可以赋ID值, 但为这些元素赋ID值的时候引用这些元素的方法就要变一下了,具体的如下:
赋name时,引用元素的方式: document.formName.inputNamedocument.frames("frameName")
赋id时,引用元素的方式: document.all.inputIDdocument.all.frameID
除去与表单相关的元素,只能赋id不能赋name,这些元素有body、li、a、table、tr、td、th、p、div、span、pre、dl、dt、dd、font、b等等

0 0
原创粉丝点击