我搜索了文档并尝试了各种技术,但没有找到合适的技术来实现以下dom操作:
<h3>hello</h3>
到
<h3><a href="#">hello</a></h3>
感谢。
答案 0 :(得分:2)
据我所知,Prototype没有等同于jQuery的wrapInner()
。但是,您可以使用innerHTML来模拟它:
$$("h3").each(function(element) {
element.replace("<h3><a href='#'>" + element.innerHTML + "</a></h3>");
});
答案 1 :(得分:1)
Prototype的wrap
确实可以在文本节点上运行,但它并没有明确说明,也没有以通常的方式扩展文本节点。此外,$$
选择器会排除本机文本节点,因此您需要自己获取它们。
var h3 = $$('h3').first(),
text = h3.childNodes.first();
Element.wrap(text, 'a', { href: '#' });