Heim  >  Artikel  >  Web-Frontend  >  js jquery ruft die Geschwisterebene des aktuellen Elements ab, vorheriges nächstes element_jquery

js jquery ruft die Geschwisterebene des aktuellen Elements ab, vorheriges nächstes element_jquery

WBOY
WBOYOriginal
2016-05-16 15:41:191323Durchsuche

var chils= s.childNodes; //Alle untergeordneten Knoten von s abrufen

var par=s.parentNode; //Den übergeordneten Knoten von s abrufen

var ns=s.nextSbiling; //Den nächsten Geschwisterknoten von s abrufen

var ps=s. previousSbiling; //Den vorherigen Geschwisterknoten von s abrufen

var fc=s.firstChild; //Den ersten untergeordneten Knoten von s abrufen

var lc=s.lastChile; //Den letzten untergeordneten Knoten von s abrufen

JS ruft das übergeordnete und untergeordnete Element des Knotens ab

Lassen Sie uns zunächst über die JS-Erfassungsmethode sprechen, die viel schwieriger ist als die JQUERY-Methode. Die JQUERY-Methode wird später zum Vergleich verwendet.

Die JS-Methode ist viel problematischer als JQUERY, hauptsächlich weil der FF-Browser Ihre Zeilenumbrüche als DOM-Elemente behandelt

<div id="test">
<div></div>
<div></div>
</div>

Native JS ruft die untergeordneten Elemente unter dem Element mit ID-Test ab.

Kann verwendet werden:

var a = docuemnt.getElementById("test").getElementsByTagName_r("div"); 

Das ist kein Problem

Zu diesem Zeitpunkt a.length=2;

Aber wenn wir eine andere Methode verwenden

var b =document.getElementByIdx_x("test").childNodes; 

Zu diesem Zeitpunkt ist b.length im IE-Browser kein Problem, es ist immer noch gleich 2, aber im FF-Browser ist es 4, da FF auch Zeilenumbrüche als Elemente behandelt.

Also, hier werden wir die Verarbeitung durchführen. Wir müssen diese Elemente durchlaufen und alle Elemente löschen, die Leerzeichen und Text sind.

function del_ff(elem){
var elem_child = elem.childNodes;
for(var i=0; i<elem_child.length;i++){
if(elem_child[i].nodeName == "#text" && !/\s/.test(elem_child.nodeValue))
{elem.removeChild(elem_child)
}
}
}

Die obige Funktion durchläuft die untergeordneten Elemente, wenn das Element einen Knotentyp enthält, bei dem es sich um Text handelt, und der Knotenwert des Texttypknotens leer ist. Löschen Sie ihn einfach.

nodeNames kann den Knotentyp eines Knotens abrufen. /s/ ist der reguläre Ausdruck nicht leerer Zeichen in JS. Vorne hinzufügen! , es bedeutet das leere Zeichen

Die Methode test() wird verwendet, um zu prüfen, ob eine Zeichenfolge mit einem bestimmten Muster übereinstimmt. Die Syntax lautet: RegExpObject.test(string)

Gibt true zurück, wenn die Zeichenfolge string Text enthält, der mit RegExpObject übereinstimmt, andernfalls wird false zurückgegeben.

nodeValue bedeutet, den Wert in diesem Knoten abzurufen.

removeChild löscht die untergeordneten Elemente des Elements.

Bevor Sie danach die Eigenschaften von Sohn, Vater und Bruder aufrufen, rufen Sie einfach die obige Funktion auf, um die Leerzeichen zu löschen

<div id="test">
<div></div>
<div></div>
</div>

<script>
function dom() {
var s= document.getElementByIdx_x("test");
del_ff(s);  //清理空格
var chils= s.childNodes; //得到s的全部子节点
var par=s.parentNode;  //得到s的父节点
var ns=s.nextSbiling;  //获得s的下一个兄弟节点
var ps=s.previousSbiling; //得到s的上一个兄弟节点
var fc=s.firstChild;  //获得s的第一个子节点
var lc=s.lastChile;  //获得s的最后一个子节点
}
</script>

Im Folgenden wird die Methode von JQUERY zum Auffinden von übergeordneten, untergeordneten und Geschwisterknoten vorgestellt

jQuery.parent(expr) Um den übergeordneten Knoten zu finden, können Sie expr zum Filtern übergeben, z. B. $("span").parent() oder $("span").parent(".class")

jQuery.parents(expr), ähnlich wie jQuery.parents(expr), durchsucht jedoch alle Vorgängerelemente, nicht beschränkt auf übergeordnete Elemente

jQuery.children(expr) Gibt alle untergeordneten Knoten zurück und nicht alle untergeordneten Knoten

jQuery.contents() gibt den gesamten Inhalt unten zurück, einschließlich Knoten und Text. Der Unterschied zwischen dieser Methode und children() besteht darin, dass das Einfügen von leerem Text ebenfalls als

behandelt wird

jQuery-Objekt wird zurückgegeben, children() gibt nur Knoten zurück


jQuery.prev() gibt den vorherigen Geschwisterknoten zurück, nicht alle Geschwisterknoten


jQuery.prevAll(), gibt alle vorherigen Geschwisterknoten zurück


jQuery.next() gibt den nächsten Geschwisterknoten zurück, nicht alle Geschwisterknoten


jQuery.nextAll(), gibt alle nachfolgenden Geschwisterknoten zurück


jQuery.siblings() gibt Geschwisterknoten zurück, unabhängig davon, ob vorne oder hinten


jQuery.find(expr) unterscheidet sich völlig von jQuery.filter(expr). jQuery.filter() filtert einen Teil der anfänglichen Sammlung von jQuery-Objekten heraus, während jQuery.find()

Das Rückgabeergebnis enthält nicht den Inhalt der ursprünglichen Sammlung. Beispielsweise beginnt $("p"), find("span") mit dem Element e388a4556c0f65e1904146cc1a846bee, was äquivalent zu $( „p span“ )

In der obigen Einführung geht es darum, dass js jquery die Geschwisterebene des aktuellen Elements abruft. Ich hoffe, dass es für alle hilfreich ist.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn