Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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&;param元素_Javascript_Jquery_Xml_Dom - Fatal编程技术网

Javascript jQuery&;param元素

Javascript jQuery&;param元素,javascript,jquery,xml,dom,Javascript,Jquery,Xml,Dom,这个代码正确吗 $('<param><div></div></param>') $(“”) 是否生成此输出 [<param>, <div></div>] [,] 而大多数其他标签(例如:节) $(“”) 产生 [<section>...</section>] […] 换句话说,jquery似乎删除了param元素中的元素,并将它们放在它旁边。我知道您通常不会将dom元素放在p

这个代码正确吗

$('<param><div></div></param>')
$(“”)
是否生成此输出

[<param>, <div></div>]
[,]
而大多数其他标签(例如:节)

$(“”)
产生

[<section>...</section>]
[…]
换句话说,jquery似乎删除了param元素中的元素,并将它们放在它旁边。我知道您通常不会将dom元素放在param标记中。但我使用jquery遍历XML文档,遇到了这个问题


解决方法是什么?

您应该开始创建有效的XML文档:

var xml ='<param><div></div></param>';
var xmlDoc = $.parseXML( xml );

您应该开始创建有效的XML文档:

var xml ='<param><div></div></param>';
var xmlDoc = $.parseXML( xml );

正如我在评论中所说,jQuery需要的是HTML而不是XML,在HTML
param
中,它是一个自动关闭标记,不能有子节点,因此jQuery为您修复了这个问题

您可以尝试:

$( $.parseXML( '<param><div></div></param>' ) ).children()
$($.parseXML('').children()
其中:

[<param>...</param>]
[…]

正如我在评论中所说的,jQuery需要的是HTML而不是XML,在HTML
中,param
是一个自动关闭标记,不能有子节点,因此jQuery为您解决了这个问题

您可以尝试:

$( $.parseXML( '<param><div></div></param>' ) ).children()
$($.parseXML('').children()
其中:

[<param>...</param>]
[…]

标记参数是一个自动关闭标记,它不能包含其他元素。µ

应用
时,它固定为
,因此jquery对象中有两个元素

例如,
也会发生同样的情况。
输入为自动关闭,结果输入到

我不认为jQuery可以修复它,这仅仅是因为jQuery使用
innerHTML

document.getElementById('mydiv').innerHTML = '<param><div></div></param>';
// you'll get two child elements <param> + <div>
document.getElementById('mydiv')。innerHTML='';
//您将得到两个子元素+

标记参数是一个自动关闭标记,它不能包含其他元素。µ

应用
时,它固定为
,因此jquery对象中有两个元素

例如,
也会发生同样的情况。
输入为自动关闭,结果输入到

我不认为jQuery可以修复它,这仅仅是因为jQuery使用
innerHTML

document.getElementById('mydiv').innerHTML = '<param><div></div></param>';
// you'll get two child elements <param> + <div>
document.getElementById('mydiv')。innerHTML='';
//您将得到两个子元素+

jQuery需要的是html而不是xml,在html
param
中,它是一个自动关闭标记,不能有子元素,因此jQuery为您解决了这个问题。解决方法是使用XML解析器。。例如,
jQuery.parseXML
我不认为jQuery解决了任何问题,而是使用了
innerHTML
(jQuery使用它)
document.getElementById('mydiv')。innerHTML='
具有相同的效果。jQuery需要html而不是xml,在html
param
中,它是一个自动关闭标记,不能包含子元素,因此jQuery会为您修复。解决方法是使用XML解析器。。例如,
jQuery.parseXML
我不认为jQuery解决了任何问题,而是使用了
innerHTML
(jQuery使用它)<代码>文档。getElementById('mydiv')。innerHTML='具有相同的效果。