Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从jQuery对象检索本机DOM元素?_Javascript_Jquery_Css Selectors_Elements - Fatal编程技术网

Javascript 从jQuery对象检索本机DOM元素?

Javascript 从jQuery对象检索本机DOM元素?,javascript,jquery,css-selectors,elements,Javascript,Jquery,Css Selectors,Elements,如何让jQuery返回它封装的本机DOM元素?使用jQuery查找元素时,可以使用“get”函数获取它们: var regularElement = $('#myElementId').get(0); 在“.each()”函数中,“this”指针指向一个“real”元素: 使用jQuery不会使Javascript变得“不同”。它是Javascript,DOM仍然是DOM。$('myTag')。get(0)返回HTML元素。我假设您正在尝试检查jQuery对象是否是“cheese\u标记”的第

如何让jQuery返回它封装的本机DOM元素?

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

var regularElement = $('#myElementId').get(0);
在“.each()”函数中,“this”指针指向一个“real”元素:


使用jQuery不会使Javascript变得“不同”。它是Javascript,DOM仍然是DOM。

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

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


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

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

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

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

jQuery使用*。你也可以自己使用它


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

根据jQuery文档,有两种方法:

路#1

路#2


重要细节中提到:方法1比方法2快

除了“操纵元素”之外,你还会对jQuery选择器做什么?我的意思是,你的问题基本上是“我可以使用jQuery吗?”答案是“可以”。你为什么要这样做?不,您的表达式将不起作用,因为$(“cheese_标记”)将返回一个jQuery对象。对不起,更好的表述我的问题的方法是“我可以将jQuery对象转换为普通javascript可以操作的对象吗?”就像在get jQuery中返回一个javascript对象进行操作一样。这个问题对我来说毫无意义。。当jquery短得多、速度快得多时,为什么要使用普通选择器?因为有时使用本机javascript函数获取对象可能会很长,所以使用jquery获取对象要比javascript快,但是实际上调用javascript函数要比jquery快,因为jquery在事先调用自己的几个函数之后调用相同的函数。这意味着在jquery选定元素上使用纯javascript比完整的jquery更快,在某些情况下也同样容易编写。我花了一分钟时间才理解为什么要在jquery对象上使用get()函数,但随后我阅读了关于问题本身的注释。现在有道理了。我可以看到get()在与非jQuery JavaScript集成时非常有用!只需包含sizzle.js,然后添加以下行:
window.$=window.sizzle
。而
$(“奶酪标签”)
将返回
[]
<代码>$(“#cheese_id”)[0]==document.getElementById(“cheese_id”)什么,不“我是Doug Neiner,我批准这个答案”?呵呵,我是Doug Neiner,我同意这个回答不完全是…我想得到一个javascript HTML元素对象作为返回。
$('input.special').each(function() {
  var type = this.type;
  this.value = "exploding balloon";
  // etc
})
$("#ID-DOM-Element")[0]
$("#ID-DOM-Element").get(0)