Ich habe eine Div wie:
<div id="one">
<div class="first"></div>
"Hi I am text"
<div class="second"></div>
<div class="third"></div>
</div>
Ich versuche, nur den Text von "Hi, ich bin Text" in "Hi, ich ersetze" mit jquery zu ändern. Das mag einfach sein, aber ich kann es nicht.
Mit $('#one').text('')
nur leert das ganze #One
div.
javascript
jquery
Manojadams
quelle
quelle
Antworten:
Text sollte nicht alleine sein. Setzen Sie es in ein
span
Element.Ändern Sie es in dieses:
quelle
Suchen Sie die Textknoten (
nodeType==3
) und ersetzen Sie dietextContent
:Live-Beispiel: http://jsfiddle.net/VgFwS/
quelle
Sie müssen den Text auf etwas anderes als eine leere Zeichenfolge setzen. Darüber hinaus sollte die Funktion .html () dies tun, während die HTML-Struktur des div erhalten bleibt.
quelle
Wenn Sie den Text, den Sie ersetzen möchten, tatsächlich kennen, können Sie ihn verwenden
http://jsfiddle.net/5rWwh/
Oder
$('#one').contents(':not(*)')
wählt in diesem Fall untergeordnete Knoten aus, die keine Elemente sind, und der zweite Knoten ist derjenige, den wir ersetzen möchten.http://jsfiddle.net/5rWwh/1/
quelle
jQuery 1.8.3
$('#one').contents(':not(*)')
wird nichts ausgewählt.Ein anderer Ansatz besteht darin, dieses Element beizubehalten, den Text zu ändern und das Element dann wieder anzuhängen
quelle
Nur für den Fall, dass Sie HTML nicht ändern können. Sehr primitiv aber kurz & funktioniert. (Es wird das übergeordnete Div leeren, daher werden die untergeordneten Divs entfernt.)
quelle