0

我想获取带有标签“div”但位于外部页面上的所有元素。我知道为了获取位于外部页面上的每个 DIV 的 innerHTML,我们有 jquery 加载函数,它允许您指定要加载的元素 id。这很有用,但我想知道如何首先找到所有这些 div?如果我只有一个 html 文件,我会使用
var divs= document.getElementsByTagName('div'); ,但我不知道在这种情况下该怎么做

4

1 回答 1

2

如果您只有其他页面的 URL,则可以使用XMLHttpRequest. 将该字符串保存到变量html中。然后你可以这样做:

var externalPage = document.createElement("div");
externalPage.innerHTML = html;
var divs = externalPage.getElementsByTagName("div");

现在divs是另一个页面NodeListdiv元素。

如果您已经使用 打开了另一个页面window.open(),则可以改为使用该调用的返回值来访问其document对象:

var otherWindow = window.open("http://example.com/");
var divs = otherWindow.document.getElementsByTagName("div");

请注意,在这两种情况下,您都受同源政策的约束。

于 2013-08-13T13:35:13.383 回答