ウェブサイトのどこかに特定のテキスト、たとえば「lollypops」があり、この文字列のすべての出現箇所を「marshmellows」に置き換えたいと思います。問題は、テキストが正確にどこにあるのかわからないことです。私は次のようなことができることを知っています:
$(body).html($(body).html().replace('lollypops', 'marshmellows'));
これはおそらくうまくいくでしょうが、私はできるだけ少ないHTMLを書き直す必要があるので、私は次のようなことを考えています。
- 文字列を検索する
- 最も近い親要素を見つける
- 最も近い親要素のみを書き換えます
- これを属性でも置き換えますが、すべてではありません。たとえば、で置き換えますが
class
、では置き換えませんsrc
たとえば、私はこのような構造になります
<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>
この例では、「lollypops」のすべての出現箇所が置き換えられ、<img src="...
同じままであり、実際に操作される要素は<a>
と両方<span>
です。
誰かがこれを行う方法を知っていますか?