Elemente mit Text mit jQuery finden

8

Ich möchte ein Array aller HTML-Elemente in einem div erstellen, die Textzeichenfolgen enthalten, z. B.

%Vor%

Ich möchte die Strings nicht erreichen, ich möchte, dass die Array-Elemente die Elemente sind (im Beispiel wäre das der p-Knoten). Ich weiß nicht vorher, was die Strings sein werden, also kann ich nicht nach übereinstimmenden String-Werten suchen. Ich möchte auch nicht, dass leere Textknoten im Array landen.

Danke!

    
Tim Sheiner 19.06.2009, 16:24
quelle

8 Antworten

10
___ answer1019025 ___

Ein benutzerdefinierter Selektor könnte in Ihrem Fall hilfreich sein:

%Vor%

Danach können Sie das einfach tun:

%Vor%

Ich nehme an, dass Sie nur Elemente auswählen möchten, die NUR Text in ihnen haben.

    
___ qstntxt ___

Ich möchte ein Array aller HTML-Elemente in einem div erstellen, die Textzeichenfolgen enthalten, z. B.

%Vor%

Ich möchte die Strings nicht erreichen, ich möchte, dass die Array-Elemente die Elemente sind (im Beispiel wäre das der p-Knoten). Ich weiß nicht vorher, was die Strings sein werden, also kann ich nicht nach übereinstimmenden String-Werten suchen. Ich möchte auch nicht, dass leere Textknoten im Array landen.

Danke!

    
___ qstnhdr ___ Elemente mit Text mit jQuery finden ___ answer1018982 ___

Sie können nicht verwenden, und die leeren Selektoren, um die nicht-leeren Elemente zu erhalten, während Sie in ein Array konvertieren, können mit get

erreicht werden %Vor%

Der obige Selektor ruft alle untergeordneten Elemente von "theDiv" ab, die nicht leer sind (d. h. sie haben entweder untergeordnete Elemente oder Text) und konvertiert dann die übereinstimmende Menge in ein Array.

Wenn Sie nur Elemente möchten, die Text enthalten, sollte dies funktionieren ...

%Vor%

Um Elemente mit Leerzeichen zu entfernen, können Sie den Filter

verwenden %Vor%     
___ answer1018931 ___
%Vor%

%code% ist das Array von Elementen, die Text enthalten.

    
___ answer1018943 ___
%Vor%     
___ answer1018879 ___

Sie können durch die Kinder navigieren und alles mit einem . text () Wert %code%

    
___ tag123jquery ___ jQuery ist eine beliebte Cross-Browser-JavaScript-Bibliothek, die das DOM-Traversal (Document Object Model), die Ereignisbehandlung, Animationen und AJAX-Interaktionen erleichtert, indem die Diskrepanzen zwischen Browsern minimiert werden. Eine mit jQuery gekennzeichnete Frage sollte mit jQuery in Zusammenhang stehen, daher sollte jquery von dem fraglichen Code verwendet werden, und mindestens eine jquery-nutzungsbezogene Elemente müssen in der Frage enthalten sein. ___ answer1019069 ___

Verwenden Sie den: contains-Selektor:

%Vor%     
___ answer1018917 ___

d ist das div, unter dem du Dinge finden willst v ist ein leeres Array
Ich muss bei 0 anfangen.

Die $ .trim wird verwendet, damit Sie keine Knoten erhalten, die nur Leerzeichen sind.

%Vor%

Man kann auch v.push ($ (this)) verwenden ... was mir völlig in den Sinn gekommen ist.

    
___ tag123textnode ___ textNodes in DOM, HTML, XML sind Knoten, die nur Text enthalten, und nicht die anderen Knotentypen von Element, Kommentar und Verarbeitungsanweisung. ___
Vincent Robert 19.06.2009, 17:54
quelle
7

Ein benutzerdefinierter Selektor könnte in Ihrem Fall hilfreich sein:

%Vor%

Danach können Sie das einfach tun:

%Vor%

Ich nehme an, dass Sie nur Elemente auswählen möchten, die NUR Text in ihnen haben.

    
TM. 19.06.2009 17:04
quelle
2

Sie können nicht verwenden, und die leeren Selektoren, um die nicht-leeren Elemente zu erhalten, während Sie in ein Array konvertieren, können mit get

erreicht werden %Vor%

Der obige Selektor ruft alle untergeordneten Elemente von "theDiv" ab, die nicht leer sind (d. h. sie haben entweder untergeordnete Elemente oder Text) und konvertiert dann die übereinstimmende Menge in ein Array.

Wenn Sie nur Elemente möchten, die Text enthalten, sollte dies funktionieren ...

%Vor%

Um Elemente mit Leerzeichen zu entfernen, können Sie den Filter

verwenden %Vor%     
John Foster 19.06.2009 16:55
quelle
1

Sie können durch die Kinder navigieren und alles mit einem . text () Wert != ""

    
Sampson 19.06.2009 16:31
quelle
1
%Vor%

array ist das Array von Elementen, die Text enthalten.

    
cdmckay 19.06.2009 16:45
quelle
0
%Vor%     
bashmohandes 19.06.2009 16:47
quelle
0

d ist das div, unter dem du Dinge finden willst v ist ein leeres Array
Ich muss bei 0 anfangen.

Die $ .trim wird verwendet, damit Sie keine Knoten erhalten, die nur Leerzeichen sind.

%Vor%

Man kann auch v.push ($ (this)) verwenden ... was mir völlig in den Sinn gekommen ist.

    
Thomas 19.06.2009 16:40
quelle
0

Verwenden Sie den: contains-Selektor:

%Vor%     
Tharsan 19.06.2009 17:17
quelle

Tags und Links