Javascript JQuery方法和DOM属性

Javascript JQuery方法和DOM属性,javascript,jquery,dom,Javascript,Jquery,Dom,对于何时可以使用DOM属性以及何时可以在Jquery对象上使用Jquery方法,我感到困惑。比如说,我使用选择器 var $elemSel = $('#myDiv').find('[id *= \'select\']') 此时,$elemSel是一个jquery对象,据我所知,它是DOM元素数组的包装器。我可以通过迭代$elemSel对象/数组来获得对DOM元素的引用(正确吗?) 我的问题是: 1.有没有办法将这个$elemSel转换成DOM元素的非JQuery规则数组? 2.我可以同时组合D

对于何时可以使用DOM属性以及何时可以在Jquery对象上使用Jquery方法,我感到困惑。比如说,我使用选择器

var $elemSel = $('#myDiv').find('[id *= \'select\']')
此时,$elemSel是一个jquery对象,据我所知,它是DOM元素数组的包装器。我可以通过迭代$elemSel对象/数组来获得对DOM元素的引用(正确吗?)

我的问题是: 1.有没有办法将这个$elemSel转换成DOM元素的非JQuery规则数组? 2.我可以同时组合DOM属性和JQuery方法吗(类似这样)

(节点名与DOM相关,子节点与JQuery相关)

编辑:这有什么问题吗

$elemSel.get(0).is(':checked')
编辑2:

谢谢你的回复。我现在明白了,我可以使用get(0)来获取DOM元素。其他问题:

  • 如何将DOM元素转换为JQuery对象

  • 如果我将“this”赋值给一个变量,那么这是新的var DOM还是JQuery?如果是JQuery,如何将其转换为DOM元素?(因为我不能使用get(0))

    var$elemTd=$(此)

  • 当我执行类似上面的赋值时,我看到一些代码示例没有包含变量名的$符号。为什么?

  • 至于我最初的问题,我可以在JQuery对象上同时组合DOM属性和JQuery函数吗

    $elemSel.children('td').nodeName

  • 您需要获取(0)结果才能获得DOM就绪对象

    var myBox = $("div#myBox");
    alert(myBox.get(0).id); // "myBox"
    
    读科迪·林德利的


    Re:Edit:
    .is()
    不是本机javascript方法。当您运行
    .get(0)
    时,您不再使用jQuery对象,因此您不能期望从它运行jQuery方法

    如果要对特定结果运行
    .is()
    ,请使用或:


    Re:Edit#2

    鲍勃,你真的应该创造新的 问题,而不是问更多和更多的问题 这里有更多

    将dom元素转换为jquery对象是通过在选择器中传递它来完成的:

    var myBox = document.createElement("div");
    var myBoxJQ = $(myBox);
    
    将此分配给变量。这取决于你什么时候做。如果“this”指的是jQuery对象,那么
    this
    将是jQuery对象。您可以使用
    .get(0)
    ,按照
    进行转换

    引用jQuery对象时,不需要将其包装在$()中。这是多余的

    最后,
    $elemSel.children('td')。节点名
    可以这样做:
    $elemSel.children('td')[0]。节点名

    $elemSel.children('td').get(0).nodeName,其中0是要访问的项的索引。

    因为jQuery选择器中可能有多个匹配项,所以需要从“数组”中获取元素

    可以使用该方法返回单个DOM元素或数组或DOM元素

    例如:

    编辑:

    $elemSel.get(0).is(':checked')
    将不起作用,因为您正在获取Dom对象,然后试图对其使用jQuery函数。如果希望获得单个jQuery元素,请使用


    还有一个获取(索引)功能的快捷方式:

    $(selector)[0].nodeName
    

    Soruce:

    为了调用本机DOM方法,可以使用get(索引)。或者,如果您想使用jQuery对象方法,您应该用jQuery包装一个本地DOM元素,这将把DOM元素转换成一个jQuery对象,这样所有的方法都可以使用。

    谢谢你的解释。所以,如果我想处理Jquery对象的各个元素,并想在它们上运行Jquery方法,我必须使用“每个”吗?还有其他方法吗?jQuery对象是一个数组。因此,可以将jQuery对象的每个实例视为数组。访问该数组中的第一项以在其上运行您的本机javascript方法。我是否可以请您在此处查看关于不同主题的jquery问题:?
    var myBox = document.createElement("div");
    var myBoxJQ = $(myBox);
    
    var elims = $("div").get();
    for(var i in elims)
        alert(elims[i].nodeName);
    
    $elemSel.eq(0).is(':checked');
    
    $(selector)[0].nodeName