Javascript 选择不带选择器的元素,仅使用元素ID

Javascript 选择不带选择器的元素,仅使用元素ID,javascript,dom,Javascript,Dom,我总是必须使用选择器来获取DOM中的元素,以便检索所需的数据。例如: var test1 = document.getElementById('testElement').value; // or var test2 = document.querySelector('#testElement').value; // or var test3 = $('#testElement').val(); // etc... 最近,我注意到我不再需要这样做了。相反,仅仅使用元素的id似乎就足够了。它似乎

我总是必须使用选择器来获取DOM中的元素,以便检索所需的数据。例如:

var test1 = document.getElementById('testElement').value; // or
var test2 = document.querySelector('#testElement').value; // or
var test3 = $('#testElement').val(); // etc...
最近,我注意到我不再需要这样做了。相反,仅仅使用元素的id似乎就足够了。它似乎被用作对元素的引用。下面的代码在Chrome、Firefox甚至IE9中都适用

var test4 = testElement.value;
我一直在试图找到更多关于这方面的信息,但无论我去哪里看,每个人都说需要使用选择器。
所以我和我的同事可能完全忽略了这一点,或者没有多少人知道这一点。或者,我想,我在搜索信息方面很糟糕

基本上,我正在寻找有关这方面的更多信息。


因此,请为我指出正确的方向,以便我可以进一步调查,并确保此功能将继续存在,并且可以持续使用。

这是一种浏览器功能,根据规范,不是。这意味着您的代码要在大多数浏览器上工作,应该使用一些选择器。另外,
testElement
如果已经是一个全局变量,则可能无法工作。

这是一个浏览器功能,根据规范,不是。这意味着您的代码要在大多数浏览器上工作,应该使用一些选择器。另外,
testElement
如果已经是全局变量,则可能不起作用。

根据浏览器的不同,元素id可能在全局范围内。这是一个很好的特性,但我不会依赖于你的应用程序。如果您想彻底了解,我建议使用
getElementById()
或带有jQuery的选择器。

根据浏览器的不同,元素id可能在全局范围内。这是一个很好的特性,但我不会依赖于你的应用程序。如果您想彻底了解,我建议使用
getElementById()
或jQuery的选择器。

@canon虽然我绝对不喜欢重复,但我已经创建了另一个。抱歉,下次我会进一步研究。谢谢你的链接。它很好地解释了这种情况。@canon虽然我绝对讨厌复制品,但我已经创造了另一个。抱歉,下次我会进一步研究。谢谢你的链接。它很好地解释了情况。