我目前正在顯示來自我的數據庫的帖子,這是我的數據庫中'message'字段的一個示例。 Alice超級鏈接鏈接到用戶的個人資料,而?<
等都是用戶自己指定的HTML。jQuery只顯示HTML中的純HTML(不包括htmlentities)
<a href="/profile/Alice">Alice</a> Alice, you there?<strong>are you here?</strong>
現有JS
$.get('/getUserPosts?id=2', function(data) {
$.each(data, function(){
$("#posts").append('<div class="user-post">'+this.content+'</div>');
});
});
如上所示,鏈接部分是純HTML,而部分的後面是一些HTML實體。當我通過jQuery在我的網頁上顯示我的代碼時,它顯示了所有的HTML內容。
我該如何使它只顯示上面的純HTML(Alice超鏈接),而html實體(?<
在這裏?<
)仍然以文本形式顯示? (但仍可見)
當前顯示[注意@Alice是超鏈接]:@Alice愛麗絲,你 嗎? 你在這裏?
預期顯示[請注意,@愛麗絲是一個超鏈接]:@愛麗絲愛麗絲,你有 嗎?
<strong>
你在這裏?</strong>
謝謝!
編輯:我正在使用append將它們包含在div中。
在很大程度上取決於在HTML正在轉換在首位。你可以將它們轉換回來,但這將是密集的。所以理想情況下,您要確保何時檢索它們,但它們不會被轉義。 – diggersworld
我會直接爲它服務! http://jsfiddle.net/kgs4w62q/ –
@RobSchmuecker我使用的.append(),他們將顯示爲HTML無論如何。 – Jas