【问题标题】:Getting the base element from a jQuery object从 jQuery 对象中获取基本元素
【发布时间】:2010-09-08 01:12:57
【问题描述】:

我正在努力在这里找到正确的术语,但如果你有 jQuery 对象...

$('#MyObject')

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

document.getElementById('MyObject')

【问题讨论】:

    标签: jquery


    【解决方案1】:
    $('#MyObject').get(0);
    

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

    $('#MyObject')[0];
    

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

    【讨论】:

    • 当我使用 chrome 时,我 console.log $('#MyObject).get(0) 在 html 标签内是 :before:after。知道这些是什么意思吗?
    【解决方案2】:

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

    .get() 方法授予对每个 jQuery 对象底层 DOM 节点的访问权限。

    【讨论】:

      【解决方案3】:

      jQuery 对象是一组元素。在你的情况下,一组一个元素。这与某些其他库不同,后者包装单个元素并为返回多个匹配项的选择器提供替代语法。

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

      【讨论】:

        【解决方案4】:

        我在我的盒子上所有可用的浏览器上测试了 Aaron 的陈述:

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

        $('#MyObject')[0];
        

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

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

        在我进行的速度测试中,并不总是能够分辨出哪种变化更快;结果并不总是一致的,即使在同一个浏览器上也是如此。对于速度测试,我只测试了现有元素。我的测试结果是here

        【讨论】:

          猜你喜欢
          • 2013-01-13
          • 2018-12-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-12-02
          • 2013-06-30
          • 1970-01-01
          相关资源
          最近更新 更多