javascript - jQuery 在解析 html 时添加了额外的标签

标签 javascript jquery html

我有一个 html 字符串。因为我需要对其进行一些操作,所以我需要使用 jquery。但是我遇到了问题,jQuery 向字符串添加了额外的标签。我怎样才能避免这种情况。

    var html = marked(input); //returns an html string
    console.log(html); //prints: <p>test<div>Type</div></p>
    var tree = $("<div>" + html + "</div>");
    //generate html out of the jquery html
    html = tree.html();
    console.log(html); // now it is: <p>test</p><div>Type</div><p></p>

我已经使用 jQuery 2.0.3 以及 firefox 和 chrome 浏览器对其进行了测试。

最佳答案

A <div><p> 里面不是有效的 HTML。

http://www.w3.org/TR/html401/struct/text.html#h-9.3.1

看来 DOM 正试图通过打开/关闭无效 <p> 来为您修复它标签。

关于javascript - jQuery 在解析 html 时添加了额外的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19411788/

相关文章:

javascript - 事件监听器完成后运行函数

javascript - 在CSS中并排对齐元素

javascript - 如何使用 javascript 聚焦表格单元格?

css - 用另一个 div 填充一个 div

javascript - 如何使用 jquery 或 javascript 单击按钮时向右滑动 div?

javascript - video.js 无法读取本地视频

javascript - jQuery 将外部 html 页面 &lt;title&gt; 插入另一个 html 页面

javascript - jQuery 在粘贴之前重写复制的文本

html - 如何不将函数应用于类? (我对 html 一无所知;这可能是一个简单的解决方法)

asp.net - 您可以将 HTML 5 与 ASP.NET 4 和 Visual Studio 2010 一起使用吗?