【发布时间】:2018-05-08 14:56:31
【问题描述】:
您好,我正在向我的页面添加一些 iframe。 iframe 仅包含一个值,我想从父级获取它。我尝试了许多关于堆栈溢出的答案,但没有一个对我有用。下面我附上了图片,这样您就可以看到页面中包含的 iframe 是如何的。我想获取红框中的值,以便以后使用。
代码:
var graphUrls = tmpSource.getGetFeatureInfoUrl(
graphCoor, viewResolution, 'EPSG:3857', {'INFO_FORMAT': 'text/html'});
var frr = document.createElement("iframe");
frr.onload = function(){
var jjj = $("iframe body a").text()
var kkk = $("iframe body #ras-val").text()
console.log("jjj ", jjj)
console.log("kkk ", kkk)
};
frr.id = sourceParams.year + "-" + sourceParams.month + "-" + sourceParams.day;
frr.src = graphUrls
document.body.appendChild(frr);
【问题讨论】:
-
你试过使用 jQuery 吗? $("iframe body a").text() ?
-
或 $("iframe body #ras-val").text()?
-
嘿,您的解决方案只返回空字符串。我也试过 $("#"+String(frames[i].id)).contents().find("a")。这将返回一个对象,该对象的 innerText 值存储在某个深处但仅在 Edge 中,在 Chrome 中这个字符串也是空的吗?当我尝试访问该值时,我的 iframe 是否可能尚未加载?那么为什么在不同的浏览器中有不同的行为呢?如果是这种情况,我将如何等到加载 iframe?
-
您使用的是 document.ready 还是 window.ready?如果您使用过 document.ready,请尝试将其更改为 window.ready。
-
不,尝试使用 iframe.onload = function... 我更新了我的问题,以便您了解我在做什么以及如何做。
标签: javascript html iframe innertext