【问题标题】:How to check if an element is the body?如何检查元素是否为主体?
【发布时间】:2012-03-18 06:50:37
【问题描述】:

来自 chrome 控制台:

var body = $("body");
=>  undefined
body
=>  [<body class=​"ask-page">​…​</body>​]
body.tagName
=>  undefined
body.nodeName
=>  undefined

如果我有一个元素引用,我怎么知道它是不是 body?

(欢迎使用 JQuery!)

【问题讨论】:

  • jQuery 节点没有属性。只有方法。 .prop("tagMame")
  • 啊,我不知道... +1

标签: javascript jquery html tags


【解决方案1】:

如果你有一个 jQuery 对象

var isBody = $obj.is('body'); // true or false

【讨论】:

    【解决方案2】:
    var elm = $('body');
    if (elm.is('body')) { // do stuff for example
    }
    

    【讨论】:

      【解决方案3】:

      尝试与纯 JavaScript 和 jQuery 的示例用法进行比较:

      function isBody(el) {
        return document.body === el;
      }
      
      isBody(document.getElementById('child').parentElement); // => true
      isBody($('#child').parent().get(0)); // => true
      

      【讨论】:

      • 如果它是一个 jquery 对象记得需要el.get(0)
      • @Chimoo:是的,最后一行中的示例用法说明了这一点。
      【解决方案4】:
      var isBody = $(this).prop("tagName").toLowerCase() == 'body';
      

      【讨论】:

      • 仅供参考,其他答案可能更有效
      • document.body === el 是一种比较。我的答案包含对 3 个不同函数的调用以及字符串比较
      猜你喜欢
      • 1970-01-01
      • 2012-08-28
      • 2019-08-16
      • 1970-01-01
      • 2011-09-25
      • 2015-02-16
      • 1970-01-01
      • 2021-08-16
      • 2022-12-16
      相关资源
      最近更新 更多