Heim >Web-Frontend >js-Tutorial >Wie rufe ich browserübergreifend nur Textknoteninhalte aus einem HTML-Element ab?

Wie rufe ich browserübergreifend nur Textknoteninhalte aus einem HTML-Element ab?

Linda Hamilton
Linda HamiltonOriginal
2024-12-03 09:45:131052Durchsuche

How to Retrieve Only Text Node Content from an HTML Element Cross-Browser?

Browserübergreifendes Abrufen von Elementtextknoten

In HTML kann es schwierig sein, den Textinhalt eines Elements abzurufen, wenn es sowohl Text als auch Text enthält andere Elemente. Um den Textknoten effektiv zu extrahieren, ist eine browserübergreifende Lösung erforderlich.

Problem:

Berücksichtigen Sie die folgende HTML-Struktur:

<div class="title">
   I am text node
   <a class="edit">Edit</a>
</div>

Das Ziel besteht darin, den Textknoten „Ich bin Textknoten“ abzurufen und gleichzeitig den Anker „Bearbeiten“ beizubehalten Tag.

Lösung:

Dies kann mit dem jQuery-Framework erreicht werden:

var text = $(".title").contents().filter(function() {
  return this.nodeType == Node.TEXT_NODE;
}).text();

Dieser Code:

  1. Wählt das Element mit der Klasse „title“ aus.
  2. Ruft seinen Inhalt mithilfe von content() ab. Methode.
  3. Filtert den Inhalt mithilfe der Methode filter() und behält nur Textknoten bei (nodeType == Node.TEXT_NODE).
  4. Ruft den Textinhalt der gefilterten Knoten mithilfe der Methode text() ab Methode.

Dadurch enthält der variable Text nur den gewünschten Textknoten „Ich bin Textknoten.“

Das obige ist der detaillierte Inhalt vonWie rufe ich browserübergreifend nur Textknoteninhalte aus einem HTML-Element ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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