2012-05-04 6 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

改行はスパン内に折り返されているため、無視されます。 emタグはスパンでラップされることがありますが、他の時は2スパンワードをラップします。 – JV10

関連する問題