我正在努力寻找正确的术语,但如果你有 jQuery 对象......

$('#MyObject')

...可以提取基本元素吗?意思是,相当于:

document.getElementById('MyObject')
有帮助吗?

解决方案

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

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

其他提示

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

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

$('#MyObject')[0];

但我不确定这是否永远有效。坚持第一个语法。

jQuery 对象是一组元素。就您而言,是一组单个元素。这与某些其他库不同,后者包装单个元素并为返回多个匹配的选择器提供替代语法。

亚伦·W沃尔克 已经解释了如何访问集合中的第一个(索引 0)元素。

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

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

$('#MyObject')[0];

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

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

在我进行的速度测试中,并不总是能够判断哪个变体更快。即使在同一浏览器上,结果也并不总是一致的。对于速度测试,我只测试了现有元素。我的测试结果是 这里.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top