如何让 jQuery 返回它封装的原生 DOM 元素?
6 回答
当您使用 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。
$('myTag').get(0)
返回 HTML 元素。
jQuery 使用Sizzle 选择器引擎*. 您也可以单独使用它。
* Doug Neiner 确认,这意味着它是正确的 ;)
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.
我假设您正在尝试检查您的 jQuery 对象是否是“cheese_tag”的第一个实例。您可以使用选择器找到第一个标签,:first
然后您不需要进行比较。例如,获取第一个div
标签将是:$('div:first')
。
有关 jQuery 选择器的完整列表,请参阅文档。
其他人已经直接回答了这个问题。使用 get() 方法。
但是,大多数时候您希望使用 jQuery 方法来进行操作,而不是访问原始 DOM 元素,然后使用“标准”JavaScript 对其进行修改。
例如,使用 jQuery,您只需说 $('mySelector').addClass('myClass') 即可将 CSS 类添加到 DOM 元素。使用直接 DOM 操作要复杂得多(并且特定于浏览器)。这个概念扩展到几乎所有其他你想做的 DOM 操作。