如何知道如果对象是一个HTML文档使用的JavaScript(how to know if an o

2019-09-16 18:11发布

我传递一个对象说, obj ,给一个函数。 obj可能可能任何类型的- (TemplatedHelper,AlertMessage,PartialViews,HTMLDocument的,等等),我想知道,如果obj是一个HTML文档。 什么是可能的方式来实现呢?

我已经尝试使用

    var containerCount = $(obj).length;
      for (var ctr = 0; ctr < containerCount; ctr++) {
        var containerTagName = $(obj)[ctr].tagName;
        alert(containerTagName); // to know all detected tagNames
                                 // this returns LINK, SCRIPT, DIV, INPUT, etc..                   
        if ((containerTagName == "TITLE") || (containerTagName == "HTML")) {
          var isHTML = true;
          break;
        }
      }

与前面的代码,Chrome浏览器只检测了title标签,但IE8不检测htmlheadtitle标签。 虽然这些片段编码不IE8工作太:

    alert($(obj).has('title')); // or 'html' as element parameter, returns [object Object]
    alert($(obj).find('title')); // or 'html' as element parameter, returns [object Object]
    if ($(obj)[ctr].parent())  
      alert($(obj)[ctr].parent().get(0).tagName); // returns undefined

请分享你我关于它的想法。 提前致谢!

Answer 1:

尝试这个:

if (obj instanceof HTMLDocument)
{
    // obj is a HTMLDocument
}
if (Object.prototype.toString.call(obj) == "[object HTMLDocument]")
{
    // obj is a HTMLDocument
}


Answer 2:

你可以试试这个

$obj.is('html')


文章来源: how to know if an object is an Html document using javascript