有没有办法用JavaScript的DOMParser渲染BR标签?

时间:2019-05-10 17:11:13

标签: javascript domparser

DOMParser.parseFromString()生成的DOM与给定相同字符串的浏览器(chrome)创建的DOM似乎并不完全相同,特别是关于<BR>的呈现标签。

如果我们创建一个<DIV>,然后向其中添加一些HTML,然后检查其innerText,则会发现<BR>标签被忽略了。

div=document.createElement("div")
div.innerHTML="test<br>test"
console.log(div.innerText) 
// prints -> "testtest"

但是,如果将其注入到浏览器渲染的文档中,则会发现<BR>标签被换行符代替。

document.body.appendChild(div)
console.log(div.innerText)  
// prints -> "test\ntest"

如果我们使用DOMPaser.parseFromString()创建文档,则会发现<BR>会忽略<DIV>的方式,然后再将其注入文档。

p=new DOMParser()
doc=p.parseFromString("asdf<br>asdf", "text/html")
console.log(doc.body.innerText)
// prints -> "testtest"
// not -> "test\ntest" 

是否有某种方法可以解析HTML字符串并使它呈现<BR>标签,就像浏览器使用换行符一样?

0 个答案:

没有答案