0

重複の可能性:
Javascript isDOM — JavascriptオブジェクトがDOMオブジェクトであるかどうかをどのように確認しますか?

私のコードには、DOM要素を受け取るオブジェクトがあります。

以下のコードは、例を明確にするために最小限に変更されています。

var Test = function(element){
  //if element does not come from the DOM -> throw
};

この要素がDOMツリーからのものであることをどのように確認できますか?

if(element.parentNode === null) {
  throw "not coming from the DOM";
}

このコードは、要素がDOMからのものであることを示すのに十分ですか?

4

1 に答える 1

0

これは jQuery で行うことができます。jQuery オブジェクト $("#myid") は常に何かを返します - jQuery オブジェクト。ページ上の既存の DOM 要素を実際に表しているかどうかを確認するには、次を使用できます。

if ( $("#myid").length > 0 ) {
//do something
}

または、この回答に基づいて、次のように確認できます。

var elementInDocument = function(element) {
    while (element = element.parentNode) {
        if (element == document) {
            return true;
        }
    }
    return false;
}

またはこのように:

var element =  document.getElementById('elementId');
if (typeof(element) != 'undefined' && element != null)
{
  // exists.
}
于 2012-10-19T09:01:43.193 に答える