代码之家  ›  专栏  ›  技术社区  ›  dansays

从jquery对象获取基元素

  •  67
  • dansays  · 技术社区  · 17 年前

    我正在努力在这里找到正确的术语,但是如果您有jquery对象…

    $('#MyObject')
    

    …是否可以提取基本元素?意思是,相当于:

    document.getElementById('MyObject')
    
    4 回复  |  直到 9 年前
        1
  •  54
  •   ryanyuyu    9 年前

    是的,使用 .get(index) . 根据 documentation :

    这个 .get() 方法授予对每个jquery对象下的DOM节点的访问权。

        2
  •  95
  •   Aaron Wagner    17 年前
    $('#MyObject').get(0);
    

    我想这就是你想要的。我认为您也可以像使用正则数组一样引用它:

    $('#MyObject')[0];
    

    但我不确定这是否会一直有效。坚持第一种语法。

        3
  •  9
  •   Community Mohan Dere    9 年前

    jquery对象是一组元素。在您的例子中,一组一个元素。这与某些其他库不同,后者包装单个元素,并为返回多个匹配项的选择器提供可选语法。

    Aaron W VolkerK 已经解释了如何访问集合中的第一个(索引0)元素。

        4
  •  5
  •   VeeTheSecond    13 年前

    我在我的盒子里所有可用的浏览器上测试了Aaron的声明:

    $('#MyObject').get(0);
    

    VS

    $('#MyObject')[0];
    

    据我所知,这只是个人喜好的问题。

    在功能上,这两个语句对于现有和不存在的元素都是等价的。我测试了以下浏览器:Chrome27.0,FF 21.0,IE10,IE9,IE8,IE7,IE6。

    在我运行的速度测试中,不可能总是知道哪种变化更快;结果并不总是一致的,即使在同一个浏览器上。对于速度测试,我只测试现有的元素。我的测试结果是 here .