3

オブジェクトsay、、をobj関数に渡します。おそらく任意のタイプobjである可能性があります- (TemplatedHelper、AlertMessage、PartialViews、HTMLDocumentなど) HTMLドキュメントであるかどうかを知りたいです。それを達成するための可能な方法は何ですか?obj

使ってみました

    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はタグのみを検出しますが、IE8は、、、およびタグtitleを検出しません。これらのフラグメントコードはIE8でも機能しませんが、次のようになります。htmlheadtitle

    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

それについてのあなたの考えを私に共有してください。前もって感謝します!

4

2 に答える 2

8

これを試して:

if (obj instanceof HTMLDocument)
{
    // obj is a HTMLDocument
}
if (Object.prototype.toString.call(obj) == "[object HTMLDocument]")
{
    // obj is a HTMLDocument
}
于 2012-04-26T04:20:21.537 に答える
0

あなたはこれを試すことができます

$obj.is('html')
于 2012-04-26T03:42:52.267 に答える