首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有<br>新行文本的DIV

带有<br>新行文本的DIV
EN

Stack Overflow用户
提问于 2013-11-20 23:03:17
回答 4查看 123关注 0票数 0

在我的项目中,我有一个带有节点的xmlhttpresponse对象,我需要在div中打印一个元素(serps),但是需要格式化。节点是这样的:

现在我必须创建一个div,在这里存储serps信息,比如response.serps1.headline+“

"+response.serps1.url+“

"+response.serps2.headline+“

"+response.serps2.url ecc ecc,在我的代码中,我尝试过这样做:

代码语言:javascript
复制
//Data
    var divSerp3 = createElement('div', 'divSerp3', 'divSerp3css');
    if (typeof(response.serps) === 'undefined' || response.serps === null) {
        tse3 = document.createTextNode("NO DATA");
    } else {
              tse3 = document.createTextNode(response.serps[1].headline+"  <br>"+response.serps[1].url+"<br><br>"+response.serps[2].headline+"     <br>"+response.serps[2].url+"<br><br>"+response.serps[3].headline+"<br>"+response.serps[3].url+"<br><br>"+response.serps[4].headline+"<br>"+response.serps[4].url+"<br><br>"+response.serps[5].headline+"   <br>"+response.serps[5].url);
    }
 divSerp3.appendChild(tse3);

但结果是:

如何循环整个serps节点并以格式化模式将数据插入到div中??

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-11-20 23:13:04

与其创建文本节点,不如创建一个元素并使用innerHTML。

代码语言:javascript
复制
var divSerp3 = createElement('div', 'divSerp3', 'divSerp3css');
if (typeof(response.serps) === 'undefined' || response.serps === null) {
    tse3 = document.createTextNode("NO DATA");
} else {
    tse3 = document.createElement('span');
    tse3.innerHTML = response.serps[1].headline+"  <br>"+response.serps[1].url+"<br><br>"+response.serps[2].headline+"     <br>"+response.serps[2].url+"<br><br>"+response.serps[3].headline+"<br>"+response.serps[3].url+"<br><br>"+response.serps[4].headline+"<br>"+response.serps[4].url+"<br><br>"+response.serps[5].headline+"   <br>"+response.serps[5].url);
}
divSerp3.appendChild(tse3);
票数 1
EN

Stack Overflow用户

发布于 2013-11-20 23:18:22

Html将不能在TextNode中正确呈现。正如元素的名称本身所说明的,它的内容基本上是文本的。

我建议您单独添加<br>,我不使用createTextNode()。使用适当的html元素(如span、段落等),我会根据需要追加多少个childs。如果使用的是$.html('your content')库,则用jQuery函数填充它们的内容;如果使用纯javascript,则使用element.innerHtml

希望它有帮助;)

票数 2
EN

Stack Overflow用户

发布于 2013-11-20 23:07:02

您正在创建一个TextNode,它将获取所有的html并将其解析为文本。您想要document.createElement('br')并追加这些内容而不是执行+"<br><br>"

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20108989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档