而不是
<input type='text' id='username'>
var username = document.getElementById('username'); <!-- IS IT REQUIRED? -->
username.classList.add('class');
我可以这样做吗?
<input type='text' id='username'>
username.classList.add('class');
使用元素而不将其存储在变量中。
它似乎工作正常,我想它只是直接采用元素id并且不需要声明任何变量,如果是这样,它是否全部相同或者是否有任何偏见我的脚本单向执行还是其他的?
编辑:嗨,大家好我会编辑这个以澄清一点。
我知道通过存储值,我不必一直写document.getElement .......
问题是使用存储值或永远不会存储只是直接使用元素ID。
答案 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');
可行,但是如果你需要两次使用该元素,你应该先存储它,这样它才能更快地执行。