Я искал документацию и пробовал различные методы, но не нашел подходящего метода для достижения следующих манипуляций с домом:
<h3>hello</h3>
to
<h3><a href="#">hello</a></h3>
Спасибо.
Я искал документацию и пробовал различные методы, но не нашел подходящего метода для достижения следующих манипуляций с домом:
<h3>hello</h3>
to
<h3><a href="#">hello</a></h3>
Спасибо.
Насколько мне известно, Prototype не имеет эквивалента wrapInner()
в jQuery. Однако вы можете смоделировать это с помощью innerHTML:
$$("h3").each(function(element) {
element.replace("<h3><a href='#'>" + element.innerHTML + "</a></h3>");
});
Prototype wrap
действительно работает с текстовыми узлами, но не говорит об этом ясно, текстовые узлы также не расширяются обычным образом. Также селектор $$
исключает собственные текстовые узлы, поэтому вам нужно получить их самостоятельно.
var h3 = $$('h3').first(),
text = h3.childNodes.first();
Element.wrap(text, 'a', { href: '#' });