-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 源的字符串作为单个文本节点附加(出于某种我不知道的原因)

但如果会输入萤火虫

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));

哦,$().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 回答