У меня есть где-то на сайте определенный текст, пусть говорят "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> s. 
Кто-нибудь знает, как это сделать?