微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 尝试解析AJAX响应时“getElementById不是函数”?

我正在运行GM_xmlhttpRequest(在Greasemonkey脚本中)并将responseText存储到新创建的 HTML元素中:

var responseHTML = document.createElement('HTML');
...
onload: function() { responseHTML.innerHTML = response.responseText; }

然后我试图在responseHTML中找到一个元素:

console.log(responseHTML.getElementsByTagName('div'));
console.log(responseHTML.getElementById('result_0'));

一个工作正常,但不是第二个.有任何想法吗?

解决方法

getElementById不是HTML元素的方法.它是文档节点的一种方法.因此你不能这样做:

div.getElementById('foo'); // invalid code

您可以通过递归遍历子项来实现自己的函数搜索DOM.在较新的浏览器上,您甚至可以使用querySelector方法.对于最小的开发,您可以使用jQuery或sizzle.js(jQuery背后的查询引擎)等库.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐