何らかの理由で、両方のメソッドの結果が TextNode になります。これは、ブラウザが追加された文字列の内容を解析しないことを意味します。
例えば
var code = "<div><p>Some</p> words are <span>here</span></div>"
$("#news_details").append(code);
コンテンツがあるページ
"<div><p>Some</p> news are <span>here</span></div>"
これ
$("#news_details").contents()
htmlソースを含む文字列が(何らかの理由で私には不明)単一のテキストノードとして添付されていることを示しています
ただし、firebugと入力する場合
var text = $('#news_detaisl').text()
$('#news_details').contents().remove()
$('#news_details').append(text)
その後、解析されて正しい方法で表示されます。