Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery在解析html时添加了额外的标记_Javascript_Jquery_Html - Fatal编程技术网

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

Javascript jQuery在解析html时添加了额外的标记,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字符串。因为我需要对它进行一些操作,所以我需要使用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>
var html=marked(输入)//返回一个html字符串
log(html)//打印:testType

变量树=$(“”+html+“”); //从jquery html生成html html=tree.html(); console.log(html);//现在是:test

Type

我已经用jQuery2.0.3和firefox和chrome浏览器对它进行了测试。

A
中的
不是有效的HTML


似乎DOM正试图通过打开/关闭无效的
标记来为您修复它。

A
,根据,只能包含其中任何一个


jQuery(或者实际上是浏览器)为您做的是将破坏的HTML转换为有效的HTML。

p
元素不能有子元素
div
。这是浏览器呈现html而不是jQuery的方式。在第一行,
marked()
返回什么类型?文本/字符串?jQuery元素?DOM元素?它不会解决您的问题,但在类似3的情况下,使用$(“”)html(html);相反它更干净。浏览器通常会像这样“修复”HTML。这不是jQuery。