Javascript 如何使用Xmlhttprequest参数请求特定元素

Javascript 如何使用Xmlhttprequest参数请求特定元素,javascript,google-chrome-extension,xmlhttprequest,Javascript,Google Chrome Extension,Xmlhttprequest,我要寻找的元素是: 42-47您不能只请求文档的一部分(节点)。您必须请求整个内容,对其进行解析,然后从中选择所需内容: var request = new XMLHttpRequest(); request.open("GET", yourUrl); request.onload = function() { var doc = new DOMParser().parseFromString(request.responseText, "text/html"); var e

我要寻找的元素是:


42-47
您不能只请求文档的一部分(节点)。您必须请求整个内容,对其进行解析,然后从中选择所需内容:

var request = new XMLHttpRequest();
request.open("GET", yourUrl);

request.onload = function() {
    var doc = new DOMParser().parseFromString(request.responseText, "text/html");
    var el = doc.getElementById("itemSummaryPrice"); // the element you want
}

request.send(null);
或者您可以将
responseType
设置为
“document”
,让
XMLHttpRequest
在内部进行解析,然后使用
responseXML

var request = new XMLHttpRequest();
request.open("GET", yourUrl);
request.responseType = "document";

request.onload = function() {
    var doc = request.responseXML;
    var el = doc.getElementById("itemSummaryPrice"); // the element you want
}

request.send(null);

不,这是不可能的。嗯,仅仅使用URL是不可能的,你可以使用解析器在加载项目后返回项目。这是否意味着我必须使用正则表达式或其他东西来解析hole响应?不是正则表达式,但DOMParser会解决我遇到的最后一个问题是,我无法获取文本,即代码片段的“42-47”。你知道我要找var el时应该怎么找吗?我试过了。innerText但是没有机会。不,您的代码是正确的,但是var el返回了这个元素:但是我需要innerText中的值,但是看起来gone@Tomale尝试
el.textContent
.nop,它也不起作用,似乎我从getElment获取的元素只是获取了,忽略了html元素中的其他值…@Tomale我认为服务器正在向您发送没有任何内容的元素。或者,更糟糕的是,元素的内容稍后由脚本填充(如果您使用的是解析器,则不会执行脚本)。阅读更多关于它的信息。