Кажется, это должно быть легко. У меня есть HTML-фрагмент, который я хочу найти и изменить на месте с помощью JavaScript. Но не только innerHTML; Я хочу заменить весь элемент. Пример:
<div class="content">
<div class="item">
<img src="images/pic1.jpg" />
<a class="clicker" onclick="javascript:doSomethingUseful(##);">Do ##!</a>
<h3>title</h3>
<p>description</p>
</div>
</div>
После загрузки страницы я хочу взять <a class="clicker" ...>Now!</a>
и заменить его тремя экземплярами, такими как:
<div class="content">
<div class="item">
<img src="images/pic1.jpg" />
<a class="clicker" onclick="javascript:doSomethingUseful(1);">Do 1!</a>
<a class="clicker" onclick="javascript:doSomethingUseful(2);">Do 2!</a>
<a class="clicker" onclick="javascript:doSomethingUseful(3);">Do 3!</a>
<h3>title</h3>
<p>description</p>
</div>
</div>
Используя prototype.js, я легко могу сделать $$ ('. Clicker') и получить массив с элементом. Я могу использовать .innerHTML и получить «Do ##!» и измени это. Но я хочу, нет, нужен весь элемент, чтобы вставить его на место. Я могу пройти через странные махинации братьев и сестер и родителей и обойти узлы, чтобы в итоге получить то, что мне нужно, и я это сделаю. Просто мне кажется, что я что-то здесь упускаю, чтобы это было легко.