JS bestimmt nativ, ob ein DOM-Knoten auf der Seite vorhanden ist
Die native JavaScript-Funktion stellt keine Methode zur Verfügung, um zu bestimmen, ob ein DOM-Knoten vorhanden ist. Normalerweise erhalten wir DOM-Knoten über die Methode document.getElement. , das ein Objektarray zurückgibt, können wir über Objekt[0], Objekt[1] auf jedes Objekt dieser Sammlung zugreifen. Da ein Array-Satz zurückgegeben wird, gibt es ein Längenattribut und eine Länge größer oder gleich 1 bedeutet, dass der DOM-Knoten auf der Seite vorhanden ist
Code:
Object.prototype.exist = function(){ if(typeof this !='undefined' && this.length>=1){ return true; } return false; };
Verwendung:
Angenommen, die Seite hat die folgenden Knoten
<div>这里是DIV节点</div> <div>这里是DIV节点</div> <span>这里是span节点</span>
Bestimmen Sie, ob die Der Knoten befindet sich auf der Seite:
var is_exist = document.getElementsByTagName('div').exist(); alert(is_exist); // true var is_exist = document.getElementsByTagName('span').exist(); alert(is_exist); // true var is_exist = document.getElementsByTagName('p').exist(); alert(is_exist); // false
Hinweis: Wenn Sie die Methode document.getElementById() verwenden, um das Objekt abzurufen, können Sie die Methode „exist(“ nicht verwenden. )-Methode, da die Methode zum Abrufen des Knotenobjekts basierend auf der ID nicht abgerufen werden kann. Bei Knoten wird ein leeres Objekt zurückgegeben und die Prototypfunktion exist() wird nicht integriert, sodass ein Fehler gemeldet wird! Wenn Sie also das Objekt basierend auf der ID abrufen, können Sie if(obj) direkt verwenden, um festzustellen, ob der DOM-Knoten auf der Seite vorhanden ist
jQuery ermittelt, ob der DOM-Knoten auf der Seite vorhanden ist
Sie können dies tun
Prototyp hinzufügen:
(function($) { $.fn.exist = function(){ if($(this).length>=1){ return true; } return false; }; })(jQuery);
Verwendung:
Wenn die Seite die folgenden DOM-Knoten hat
这里是id=a节点<div>这里是DIV节点</div> <div>这里是DIV节点</div> <span>这里是span节点</span>
Beurteilung:
alert($('#aaa').exist()); // false alert($('#a').exist()); // true alert($('div').exist()); // true alert($('p').exist()); // false
Die beiden oben genannten Methoden bestimmen tatsächlich, ob Das Objekt existiert basierend auf dem Längenattribut der Objektsammlung.