Javascript 使用ID或对象访问DOM元素更好吗?
给定如下HTML:Javascript 使用ID或对象访问DOM元素更好吗?,javascript,html,object,Javascript,Html,Object,给定如下HTML: <body> <form name="myForm" action="savedata.php" method="post"> <input type="text" name="myName" /> </form> </body> var getName = document.getElementById('myName').value; 但是,相反,我知道我可以做到这一点,而且我更喜欢它: var getN
<body>
<form name="myForm" action="savedata.php" method="post">
<input type="text" name="myName" />
</form>
</body>
var getName = document.getElementById('myName').value;
但是,相反,我知道我可以做到这一点,而且我更喜欢它:
var getName = document.myForm.myName.value;
第二种方法有办法吗?而且,使用
myForm.myName可以吗?还是应该使用getElementById
?首先,您的第一位“DOM”代码是错误的<代码>getElementById('myName')
不会得到您想要的元素,因为它没有id
——只有name
属性。类似地,我认为您的树导航第二位代码不会起作用,因为元素是通过id
存储的,而不是通过name
存储的
现在,不管怎样,您发布的两个示例都是“DOM”。您有一个文档,其结构为节点对象树。你就是这样导航的。前一个代码片段(如果编写正确的话)只是一种更标准的访问方式
至于您应该做什么(我从您特别询问的关于JavaScript代码的标记中假设):任何一种方法都有效。第一个想法(就它使用的getElementById
)更好,因为文档结构的更改不会破坏它,但是如果是你来清理碎玻璃,那就全是你的表演了
为了说明我的观点,假设您将input
元素放在div
中。使用getElementById
的代码仍然有效。向下导航树的代码不会这样做,因为它没有属性get来遍历新的中间元素。因此,您已经将您的逻辑与您的显示相耦合——这是一种代码气味
如果你还不知道的话,看看吧;它和类似的库使JavaScript成为一种更令人愉快的开发语言。
您的问题是什么??什么是(什么?
对不起,我忘了添加id到,所以,它将是