从jQuery对象获取基本元素


68

我正在努力在这里找到正确的术语,但是如果您有jQuery对象...

$('#MyObject')

...可以提取基本元素吗?含义,等效于:

document.getElementById('MyObject')

Answers:


55

是的,请使用.get(index)。根据文档

.get()方法授予对每个jQuery对象基础的DOM节点的访问权限。


96
$('#MyObject').get(0);

我想这就是你想要的。我认为您也可以像使用常规数组一样引用它:

$('#MyObject')[0];

但是我不确定那是否会一直有效。坚持第一种语法。


当我CONSOLE.LOG $('#MyObject).get(0)html标签里面:before,并:after使用Chrome时。知道这些是什么意思吗?
康纳·里奇

9

jQuery对象是一组元素。在您的情况下,一组一个元素。这不同于某些其他库,后者包装单个元素并为返回多个匹配项的选择器提供备用语法。

Aaron WVolkerK已经解释了如何访问集合中的第一个(索引0)元素。


5

我在盒子上所有可用的浏览器上测试了亚伦的陈述:

$('#MyObject').get(0);

$('#MyObject')[0];

据我所知,这只是个人喜好问题。

从功能上讲,这两个语句对于现有元素和不存在元素都是等效的。我测试了以下浏览器:Chrome 27.0,FF 21.0,IE10,IE9,IE8,IE7,IE6。

在我进行的速度测试中,并非总是能够分辨出哪个变化​​更快。即使在同一浏览器上,结果也不总是一致的。对于速度测试,我仅测试了现有元素。我的测试结果在这里

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.