猿问

最佳实践:按HTML ID或名称属性访问表单元素?

最佳实践:按HTML ID或名称属性访问表单元素?

正如任何经验丰富的JavaScript开发人员所知,有很多(太多)方法可以做同样的事情。例如,假设您有一个文本字段,如下所示:


<form name="myForm">  

    <input type="text" name="foo" id="foo" />

在JavaScript中有很多方法可以访问它:


[1]  document.forms[0].elements[0];

[2]  document.myForm.foo;

[3]  document.getElementById('foo');

[4]  document.getElementById('myForm').foo;

     ... and so on ...

方法[1]和[3]在Mozilla Gecko文档中有详细记载,但都不是理想的。[1]过于笼统而无用,[3]同时需要id和名称(假设您将数据发布到服务器端语言)。理想情况下,最好只有一个id属性或一个name属性(两者都有点多余,特别是如果id不是任何css所必需的,并且增加了拼写错误的可能性等)。


[2]似乎是最直观的,它似乎被广泛使用,但我没有看到它在Gecko文档中引用,我担心向前兼容性和跨浏览器兼容性(当然我想成为尽可能符合标准)。


那么这里最好的做法是什么?任何人都可以指出DOM文档或W3C规范中可以解决此问题的内容吗?


注意我对非库解决方案(jQuery / Prototype)特别感兴趣。


尚方宝剑之说
浏览 453回答 3
3回答
随时随地看视频慕课网APP
我要回答