gpt4 book ai didi

javascript - 使用 ID 或对象访问 DOM 元素哪个更好?

转载 作者:行者123 更新时间:2023-11-28 00:20:44 24 4
gpt4 key购买 nike

给定这样的 HTML:

<body>
<form name="myForm" action="savedata.php" method="post">
<input type="text" name="myName" />
</form>
</body>

使用 document.getElementById,我会像这样访问名为 myName` 的输入:

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 的代码仍然有效。向下导航树的代码不会,因为它没有 property-get 来通过新的中间元素。因此,您已将您的逻辑耦合到您的显示 - 这就是代码味道。

看看jQuery如果您还不知道;它和类似的库使 JavaScript 成为一种更适合开发的语言。

关于javascript - 使用 ID 或对象访问 DOM 元素哪个更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9106643/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com