-4

何らかの理由で、両方のメソッドの結果が 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)

その後、解析されて正しい方法で表示されます。

4

3 に答える 3

2

ユーザーhtml()

var code = "<div><p>Some</p> words are <span>here</span></div>"
$("#news_details").html(code);
于 2012-09-25T12:34:55.703 に答える
1

あなたが直接質問をしていないので、私はあなたが望むものだけを推測することができます。これを試して、それが役立つかどうか、そしてそれがあなたが望んでいたものであったかどうかを教えてください:

var code = "<div><p>Some</p> words are <span>here</span></div>"
$("#news_details").append($(code));

Ohと$()。appendと$()。htmlは同じように動作しません。$()。appendは入力を新しい子として追加し、$()。htmlは要素のinnerHTMLを返すか、それを設定します。パラメータを設定するかどうかによって異なります。

于 2012-09-25T12:37:17.817 に答える
0

このコードだけが正常に機能しますが、そのような奇妙な動作

var content = news.newsDetails(here async ajax request which load html snippet with content);  //content is a string with html snippet from server

$("#news_content").append(content);
var value = $(".news_title").text();
$(".news_title").contents().remove();
$(".news_title").append(value);
$(".news_details").css('display','block')

およびhtmlスニペット

<div class="news_details">
    <img class="pointer" src="/static/img/close6.png" alt="close" width='16' height='16'>
    <div class="news_head gradient">
        <span>{{ item.pub_date|date:"d M Y"  }}</span>{{ item.title }}
    </div>
    <div class="clear"></div>
<div class="news_title">{{ item.full_text }}</div>

于 2012-09-25T13:08:50.103 に答える