【问题标题】:accessing TagName of jquery object访问 jquery 对象的 TagName
【发布时间】:2012-06-02 15:22:12
【问题描述】:

我想知道jquery对象的tagName,我试过了:

   var obj = $("<div></div>");
   alert($(obj).attr("tagName"));

此警报显示undefined。我在做什么错?

【问题讨论】:

  • 别忘了jQuery对象是集合,所以它们可以包装一个或多个DOM元素、文本节点等

标签: jquery tagname


【解决方案1】:

您需要访问底层 DOM 节点,因为 jQuery 对象没有 tagName 属性,而 tagName 不是属性,不是属性:

var obj = $("<div></div>");
alert(obj[0].tagName);

请注意,我还在第二行删除了对 jQuery 的调用,因为 obj 已经是一个 jQuery 对象。

【讨论】:

    【解决方案2】:

    tagName 是原生 DOM 元素属性,它不是 jQuery 本身的一部分。考虑到这一点,使用 $()[0] 从 jQuery 选择器中获取 DOM 元素,如下所示:

    var obj = $("<div></div>");
    alert(obj[0].tagName);
    

    Example fiddle

    【讨论】:

      【解决方案3】:

      tagName是底层DOM元素的属性,不是属性,所以可以使用prop,这是jQuery访问/修改属性的方法:

      alert($(obj).prop('tagName'));
      

      不过,更好的是直接访问 DOM 属性:

      alert(obj[0].tagName);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-05-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-11
        • 1970-01-01
        • 2013-02-19
        相关资源
        最近更新 更多