2012-05-04 24 views
5

如何在一個範圍中包裝每個單詞並保留文本格式?例如BR,EM如何在一個範圍中包裝每個單詞但保留文本格式

我用下面的代碼來包裝在一個跨度富文本編輯器的每個字,但它剝離出來我的所有格式。

$(window).load(function() { 
$(".hero_image p").addClass("hero_image_caption"); 
$('.hero_image p').each(function(){ 
    var text = $(this).text().split(' '); 

    for(var i = 0, len = text.length; i < len; i++) { 
     text[i] = '<span>' + text[i] + '</span>'; 
     } 
     $(this).html(text.join(' ')); 

     });   
}); 
+1

這是'文本()'被剝離出來的格式。如果你使用'html()'來代替它並且添加一些邏輯來避免試圖將''標籤注入到其他HTML標籤的中間,它可能會更好。 – aroth

回答

6
$('.hero_image p').each(function(){ 
    var text = $(this).html().split(' '), 
     len = text.length, 
     result = []; 

    for(var i = 0; i < len; i++) { 
     result[i] = '<span>' + text[i] + '</span>'; 
    } 
    $(this).html(result.join(' ')); 
});   
+0

換行符被包裹在跨度內,因此被忽略。電子標籤有時包裹在跨度中,但其他時間包裹兩個跨度字。 – JV10

相關問題