2012-05-04 21 views
5

Her bir kelimeyi bir açıklıkla nasıl doldurabilirim ve metin biçimlendirmesini nasıl saklayabilirim? Örneğin. br, em, güçlüHer bir sözcük bir açıklık içinde nasıl sarılır, ancak metin biçimlendirmesini korur

Bir süre içinde bir zengin metin editörü gelen her kelimeyi sarmak için aşağıdaki kodu kullanıyorum, ancak hepsi benim biçimlendirme dışarı sıyırma ediyor.

$(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

O() 'o biçimlendirme dışarı sıyırma olan' metin bu. Bunun yerine html() 'yi çalıştırırsanız daha iyi çalışır ve diğer HTML etiketlerinin ortasına '' etiketlerini enjekte etmekten kaçınmak için bazı mantık ekleyin. – aroth

cevap

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

Satır sonları açıklıkların içine sarılır ve göz ardı edilir. Em etiketleri bazen açıklığa göre sarılır, ancak diğer zamanlarda iki açıklıklı kelimeler sarılır. – JV10