如何让jQuery返回其封装的本地DOM元素?
如何让jQuery返回其封装的本地DOM元素?
当使用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确认,这意味着它是正确的;)
window.$ = window.Sizzle
。而 $("cheese_tag")
将返回 [<domelement>]
。$("#cheese_id")[0] === document.getElementById("cheese_id")
。 - Doug Neiner$("#ID-DOM-Element")[0]
$("#ID-DOM-Element").get(0)
jQuery文档中提到的一个重要细节: 方式1比方式2更快。
我猜你想检查你的jQuery对象是否是"cheese_tag"的第一个实例。你可以使用:first
选择器找到第一个标签,这样就不需要进行比较了。例如,获取第一个div
标签的方法是:$('div:first')
。
有关完整的jQuery选择器列表,请参见文档。
其他人已经直接回答了这个问题。 使用get()方法。
然而,大多数情况下,您希望使用jQuery方法进行操作,而不是访问原始DOM元素,然后使用“标准”JavaScript进行修改。
例如,使用jQuery,您只需说$('mySelector').addClass('myClass')即可向DOM元素添加CSS类。 直接使用DOM操作要复杂得多(并且特定于浏览器)。 这个概念延伸到几乎所有其他DOM操作。