Tengo en algún lugar del sitio web un texto específico, digamos "chupetines", y quiero reemplazar todas las apariciones de esta cadena con "marshmellows". El problema es que no sé dónde está exactamente el texto. Sé que podría hacer algo como:
$(body).html($(body).html().replace('lollypops', 'marshmellows'));
Esto probablemente funcionaría, pero necesito reescribir la menor cantidad de HTML posible, así que estoy pensando en algo como:
- buscar la cadena
- encontrar el elemento padre más cercano
- reescribe solo el elemento padre más cercano
- reemplace esto incluso en atributos, pero no en todos, por ejemplo reemplácelo en
class, pero no ensrc
Por ejemplo, tendría una estructura como esta
<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>
En este ejemplo, cada aparición de "lollypops" sería reemplazada, solo <img src="...permanecería igual y los únicos elementos que realmente serían manipulados serían <a>y ambos <span>s.
¿Alguien sabe cómo hacer esto?