在我的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/
我是不是漏掉了什么,这是预期的行为吗?
发布于 2014-03-14 15:10:22
只需打印scriptBody2到控制台即可。您可以看到,内部脚本标记的结束</script>标记用于计算第一个脚本标记。因此,内部标签后面的所有内容都被忽略了。
这不是parseHTML的问题,因为parseHTML只获取要解析的部分标记。
http://jsfiddle.net/3gxEM/
https://stackoverflow.com/questions/22408633
复制相似问题