2011-10-14 12 views
12

Bazı basit html düzenleyicim var.jQuery öğesinin html varlıklardan kaçmasını önleme

$(this).html(content); // where content is the string above 
: yere bazı elemana bu metni eklemek için jQuery kullanıyorum Şimdi

var content = "<p>Ok, this just &amp; sucks :) &ndash;</p>"; 

:

<p>Ok, this just &amp; sucks :) &ndash;</p> 

ve bazı değişkene kaydedilir: en kullanıcı tipleri aşağıdaki diyelim

sorun kaçan olmasıdır:

<p>Ok, this just &amp;amp; sucks :) &amp;ndash;</p> 

& amp ile tam dizeye sahip olmayı nasıl sağlayabilirim; ve & ndash; ve ayrıca < ve & lt; çünkü html etiketlerine ihtiyacım var?

Düzenleme: daha fazla detay sorun jQuery varlıkları kaçan olması değil

cevap

9

eklendi. Ben content dizesini yazmak için console.log kullanırsanız, editörünüzün size kaçan varlıkları döndürdüğünü göreceksiniz.

.html() ve .text() arasındaki tüm nokta, .html()'un HTML olarak değerlendirilecek HTML içindir.

+3

Yanıt için teşekkürler. Evet, "içerik" zaten kaçtı (yukarıdaki ilk kodla aynı metni içerir), ancak jQuery tekrar yeniden kaçar ve böylece '& ; ndash; ' yaratıldı. – ladar

1

Ben &amp; ve ndash;& ve - dönüştürülür olmayacak, böylece metin <p>Ok, this just &amp;amp; sucks :) &amp;ndash;</p> tam dönüştürerek dışarı ile gösterilmesini istiyorum Tahmin, daha sonra kullanın:

$(this).text(content); 

Bir sorunu Bununla content, this öğesinde bir metin olarak metin olarak eklenecektir. değil p öğesi oluşturur ve this'a ekler.

Ancak, dönüşümün etkisini almak istiyorsanız, kodunuzun çalışması gerekir.

Söylemek istediğim bir şey daha var, Ben bu dönüşümle ilgili bir dil olmadığını düşünüyorum. Tarayıcı bu durumlarda ana rol üstlenir. Öyleyse, ne olursa olsun, tarayıcının içeriği kontrol etmek için başka bir şansı varsa, senaryoda ne yaparız? & ve -.

İlgili konular