[问题] 想请问javascript的name属性取得元件方法

楼主: sthermit ( )   2016-12-21 15:52:26
各位好
刚才在网上逛逛
看JavaScript教学时,发现不太清楚的东西
麻烦各位开导小弟
刚学JavaScript时
取得元件
学到都是使用
getElementById、getElementsByName
如果
原始码是
<form name='form' id='form'>
姓名:
<input type='text' name='name' id='name' /> E-mail:
<input type='text' name='email' id='email' />
<input type='button' name='submit' value='送出'
onclick='processFormData();' />
</form>
要取得name这的Input元件
使用 Document.getElementsByName("name")[0]
刚才看到可以直接写
Document.form.name
有的是
Document.forms['form'].elements['name']
or
Document.form.elements['name']
or
Document.form.elements.name
请问这些写法的差别是?
这样的话还可以有多个同名的元件吗?
谢谢各位
作者: shadowjohn (转角遇到爱)   2016-12-21 16:28:00
你只要记document.getElementsByName("OOXX")其他的都不建议jquery好写多了 $("*[name='OOXX']") 同上面那个不过name是可重复名称,可以用lenth得知有几个同name
作者: ian90911 (xopowo)   2016-12-21 16:59:00
getAttribute("name") 呢回错了 请无视...orz
作者: xdraculax (首席怪叔叔)   2016-12-21 18:59:00
name 是可重复的属性,如有多个表单,元件用到相同 name,可能得到非预期结果这范例不太好 表单的 name 也叫 form,容易搞混document.form 这个 form 是 name,如果表单名称与某 document 属性相同会有问题,document.forms['form'] 这个 forms 是默认的表单集合,'form' 是 name,不会有与document 属性重复的隐忧,个人偏好用 id 或 forms明确的选取目标

Links booklink

Contact Us: admin [ a t ] ucptt.com