题
我正在努力寻找正确的术语,但如果你有 jQuery 对象......
$('#MyObject')
...可以提取基本元素吗?意思是,相当于:
document.getElementById('MyObject')
解决方案
是的,使用 .get(index)
. 。根据 文档:
这
.get()
方法授予对每个 jQuery 对象底层的 DOM 节点的访问权限。
其他提示
$('#MyObject').get(0);
我想这就是你想要的。我认为您也可以像常规数组一样引用它:
$('#MyObject')[0];
但我不确定这是否永远有效。坚持第一个语法。
我在我的盒子上可用的所有浏览器上测试了亚伦的声明:
$('#MyObject').get(0);
与
$('#MyObject')[0];
据我所知,这只是个人喜好问题。
从功能上讲,这两个语句对于现有和不存在的元素都是等效的。我测试了以下浏览器:Chrome 27.0、FF 21.0、IE10、IE9、IE8、IE7、IE6。
在我进行的速度测试中,并不总是能够判断哪个变体更快。即使在同一浏览器上,结果也并不总是一致的。对于速度测试,我只测试了现有元素。我的测试结果是 这里.
不隶属于 StackOverflow