replaceWith簡單使用
jQuery中,有一個強大的替換函數replaceWith(),使用非常簡單,如:
頁面有以下p標籤
把所有p標籤換成「##」
$('p').replaceWith('##');
執行後的結果:
替換標籤
利用這個replaceWith,我們可以把所有p標籤替換為b標籤,內容不變:
$('p').each(function(){ $(this).replaceWith('<b>'+$(this).html()+'</b>'); });
結果
這就替換了!
多語言網站可以利用這個函數輕鬆完成
如果你開發的是一個多語言的網站,甚至可以利用這個特性,比如,在你需要翻譯的文字上加上i標籤,然後遍歷翻譯替換。
假如頁面dom結構如下:
我們要把頁面中的i標籤裡的文字給翻譯,頁面中有i標籤的分別是蘋果、電腦。於是我們實作需要一個翻譯函式庫:
var translate = { '苹果' : 'apple', '电脑' : 'PC' };
然後我可以這樣執行翻譯替換
$('i').each(function(){ $(this).replaceWith(translate[$(this).html()]); });
執行後效果:
頁面效果: