16

如何让 jQuery 返回它封装的原生 DOM 元素?

4

6 回答 6

32

当您使用 jQuery 查找元素时,您可以使用“get”函数获取它们:

var regularElement = $('#myElementId').get(0);

在“.each()”函数中,“this”指针指向“真实”元素:

$('input.special').each(function() {
  var type = this.type;
  this.value = "exploding balloon";
  // etc
})

使用 jQuery 不会使 Javascript “与众不同”。它Javascript,而 DOM 仍然是 DOM。

于 2010-02-24T14:34:42.063 回答
2

$('myTag').get(0)返回 HTML 元素。

于 2010-02-24T14:35:26.647 回答
2

jQuery 使用Sizzle 选择器引擎*. 您也可以单独使用它。

* Doug Neiner 确认,这意味着它是正确的 ;)

于 2010-02-24T16:06:21.910 回答
1

There are two ways, according to jQuery documentation:

Way #1

$("#ID-DOM-Element")[0]

Way #2

$("#ID-DOM-Element").get(0)

Important detail mentioned in the jQuery documentation: Way #1 is faster than Way #2.

于 2021-02-08T17:30:06.183 回答
0

我假设您正在尝试检查您的 jQuery 对象是否是“cheese_tag”的第一个实例。您可以使用选择器找到第一个标签,:first然后您不需要进行比较。例如,获取第一个div标签将是:$('div:first')

有关 jQuery 选择器的完整列表,请参阅文档

于 2010-02-24T14:36:44.383 回答
0

其他人已经直接回答了这个问题。使用 get() 方法。

但是,大多数时候您希望使用 jQuery 方法来进行操作,而不是访问原始 DOM 元素,然后使用“标准”JavaScript 对其进行修改。

例如,使用 jQuery,您只需说 $('mySelector').addClass('myClass') 即可将 CSS 类添加到 DOM 元素。使用直接 DOM 操作要复杂得多(并且特定于浏览器)。这个概念扩展到几乎所有其他你想做的 DOM 操作。

于 2010-02-24T16:03:43.473 回答