繁体   English   中英

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

[英]jQuery adds extra tags on parsing 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。

<p> <div>是无效的HTML。

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

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

根据HTML规范<p>只能包含没有<div> Phrasing元素

jQuery(或实际上,浏览器)为您做的是将HTML打破为有效的HTML。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM