Ich habe irgendwo auf der Website einen bestimmten Text, sagen wir "Lollypops", und ich möchte alle Vorkommen dieser Zeichenfolge durch "Marshmellows" ersetzen. Das Problem ist, dass ich nicht weiß, wo genau der Text ist. Ich weiß, ich könnte so etwas tun:
$(body).html($(body).html().replace('lollypops', 'marshmellows'));
Dies würde wahrscheinlich funktionieren, aber ich muss so wenig HTML wie möglich neu schreiben, also denke ich an etwas wie:
- Suche nach der Zeichenfolge
- Suchen Sie das nächstgelegene übergeordnete Element
- Schreiben Sie nur das nächstgelegene übergeordnete Element neu
- Ersetzen Sie dies auch in Attributen, aber nicht in allen, z. B. in
class
, aber nicht insrc
Zum Beispiel hätte ich eine solche Struktur
<body>
<div>
<div>
<p>
<h1>
<a>lollypops</a>
</h1>
</p>
<span>lollypops</span>
</div>
</div>
<p>
<span class="lollypops">Hello, World!</span>
<img src="/lollypops.jpg" alt="Cool image" />
</p>
<body>
In diesem Beispiel würde jedes Auftreten von "Lollypops" ersetzt, nur <img src="...
würde gleich bleiben und die einzigen Elemente, die tatsächlich manipuliert würden, wären <a>
und beide <span>
s.
Weiß jemand, wie man das macht?