2013-03-21 29 views
0

我從MySQL中取出一些文本並處理它,然後通過Ajax調用將它返回給jquery。插入html段落 - jquery的確比預期的要好

perl中的一部分處理是用段落標記替換所有換行符。於是,我想到了一個簡單的:

s#\n#</p><p>#g; 

....然後包裹在整個字符串:

<p> ... </p> 

...應該做的伎倆。它的工作,但我發現一個錯字 - 我從正則表達式省略結束對標籤 - 所以閱讀:

s#\n#<p>#g; 

...,但每個段落仍然在p標籤正確包裹,當它到了瀏覽器。因此,不管我是否在正則表達式中都有關閉P標籤,jQuery都會做正確的事情。

我的問題是爲什麼?

回答

0

這實際上並不是jQuery這樣做,它是瀏覽器。

當您插入到DOM中時,瀏覽器將試圖理解您的標籤並關閉任何鬆散的末端。有些瀏覽器比其他瀏覽器更好。

+0

是的,當然,你是絕對正確的。所以它畢竟不是巫術。非常感謝您爲我清理這個問題。 – Upland 2013-03-21 16:24:59