2012-03-21 51 views
3

我已經搜索的文檔和嘗試了各種技術,但have't發現一個合適的技術來實現以下DOM操作:原型內包

<h3>hello</h3> 

<h3><a href="#">hello</a></h3> 

感謝。

回答

2

據我所知,Prototype沒有相當於jQuery的wrapInner()。你可以,但是,與innerHTML模擬它:

$$("h3").each(function(element) { 
    element.replace("<h3><a href='#'>" + element.innerHTML + "</a></h3>"); 
}); 
+0

這就是我最終做的 - 謝謝 – 2012-03-23 11:37:51

1

原型的wrap並在文本節點的實際工作,但它並沒有說清楚,也不是擴展以通常的方式文本節點。此外,$$選擇器排除了原生文本節點,因此您需要自己提取它們。

var h3 = $$('h3').first(), 
    text = h3.childNodes.first(); 
Element.wrap(text, 'a', { href: '#' });