【问题标题】:Cross browser solution for checking if a Javascript object is an html element用于检查 Javascript 对象是否为 html 元素的跨浏览器解决方案
【发布时间】:2011-08-10 11:46:15
【问题描述】:

以下代码适用于 FF 但不适用于 IE8:

var j = "test";
alert(j instanceof HTMLElement);

我不认为 IE 使用 HTMLElement 对象。有没有一种安全的方法可以在 IE 中进行此检查?也许有 YUI 解决方案?

【问题讨论】:

标签: javascript html browser cross-browser yui


【解决方案1】:

我用来检查nodeType属性,它应该是所有HTML元素对象的1。

在我切换到 jQuery 之前,我在我的跨浏览器库中使用了它。

text 的 nodeType 为 3,任何自定义对象都可能根本没有 nodeType 属性。

【讨论】:

  • help.dottoro.com/ljkadgoo.php 我想你把它弄反了? Text是3型,Element是1型?
  • 有人需要更正这个答案,它是倒退的 :) 文本节点:3,元素节点:1,评论节点:8,等等。见developer.mozilla.org/en/nodeType
  • 修正了数字,很抱歉让它们倒退并且没有注意到第一条评论通知电子邮件:/
【解决方案2】:

如果您查看 jQuery 源代码(不是缩小版的 ffs!),您会发现他们大量使用 nodeType

【讨论】:

    猜你喜欢
    • 2013-12-29
    • 2011-03-05
    • 1970-01-01
    • 2013-09-06
    • 2015-07-04
    • 2016-03-31
    • 2014-05-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多