document.getElementById(' elementid')。etc或elementid.etc?

时间:2017-05-29 15:36:28

标签: javascript html

而不是

HTML

<input type='text' id='username'>

JAVASCRIPT

var username = document.getElementById('username'); <!-- IS IT REQUIRED? -->
username.classList.add('class');


我可以这样做吗?

HTML

<input type='text' id='username'>

JAVASCRIPT

username.classList.add('class');

使用元素而不将其存储在变量中。

它似乎工作正常,我想它只是直接采用元素id并且不需要声明任何变量,如果是这样,它是否全部相同或者是否有任何偏见我的脚本单向执行还是其他的?

编辑:嗨,大家好我会编辑这个以澄清一点。

我知道通过存储值,我不必一直写document.getElement .......

问题是使用存储值永远不会存储只是直接使用元素ID。

3 个答案:

答案 0 :(得分:5)

如果您只使用此元素一次,则可以使用:

document.getElementById('username').classList.add('class');

如果多次使用此元素,则应将其存储到要使用的变量中,因为它可以帮助您更快地编写代码。您只需要保证不会覆盖此变量。

应该或不应该直接使用id。答案是不。原因有很多:如果具有特定id的元素不存在,则getElementById将返回null,但是使用id direct =&gt;错误;你可以使用id和一些符号,如 - ,+,...所以在这种情况下,你可以通过getElementById调用它们;在这种情况下你不能直接使用id;为了安全...

答案 1 :(得分:2)

是的,你可以这样做,因为username是一个全局变量。

但这不是一个好的解决方案,因为其他插件可以覆盖此变量。 document.getElementByID是安全的方式......

答案 2 :(得分:1)

document.getElementById('username').classList.add('class');

可行,但是如果你需要两次使用该元素,你应该先存储它,这样它才能更快地执行。