我在网上和 StackOverflow 上进行了搜索,但没有找到与我遇到的问题非常相似的东西。
我有下面的 HTML 字符串:
var txtBoxForm = '<script src="http://ADDRESS"></script><noscript><a href="http://ADDRESS" target="_blank"><img src="http://ADDRESS" border=0 width=728 height=90></a></noscript>';
我试图用以下方式解析它:
parser = new DOMParser()
xmlDoc = parser.parseFromString(txtBoxForm, "text/xml");
alert(xmlDoc);
alert(xmlDoc.firstChild.nodeName);
alert(xmlDoc.firstChild.firstChild.nodeName);
alert(xmlDoc.firstChild.firstChild.firstChild.nodeName);
alert(xmlDoc.firstChild.firstChild.firstChild.firstChild.nodeName);
问题是,即使字符串以 tag 开头并且没有子节点,我也会从警报中得到以下回报:
alert(xmlDoc); -> [Object document]
alert(xmlDoc.firstChild.nodeName); -> html
alert(xmlDoc.firstChild.firstChild.nodeName); -> body
alert(xmlDoc.firstChild.firstChild.firstChild.nodeName); -> parseerror
alert(xmlDoc.firstChild.firstChild.firstChild.firstChild.nodeName); -> h3
所以我的问题是:
- 为什么解析的代码不以 开头
<script>
,因为字符串呢? - 难道我做错了什么?
- 我怎样才能正确解析该字符串代码?我的意图是从脚本和 img 标签中捕获 src。
请帮忙。谢谢。