在我的previous question中,我一直在寻找$.parseXML
在BPMN文件中遇到script
标记时抛出异常的原因。我虽然这是jQuery的一个问题,但也在他们的问题跟踪器上发布了这个问题并得到了一个尝试$.parseHTML
的建议。
不同之处在于$.parseHTML
不会抛出任何异常,但它会在第一个script
标记后静默忽略标记。这是我用于测试的有效XML:
<?xml version="1.0" encoding="UTF-8"?>
<someroot>
<firsttag>
<peacefultag></peacefultag>
</firsttag>
<secondtag>
<a>asdsa</a>
</secondtag>
</someroot>
以及以下简单选择器:
$(result1).find('firsttag').length; // 1
$(result1).find('secondtag').length; // 1
如果您将上述XML中的peacefultag
替换为script
,则会发生这种情况:
$(result1).find('secondtag').length; // becomes 0.
这是小提琴:http://jsfiddle.net/k7m6w/
我错过了什么,这是预期的行为吗?
答案 0 :(得分:2)
只需将scriptBody2
打印到控制台即可。您可以看到内部脚本标记的结束</script>
标记用于使用第一个脚本标记进行数学运算。因此,忽略内部标记之后的所有内容。
这不是parseHTML的问题,因为parseHTML只获取要解析的部分标记。