我正在尝试访问DOM中的一个元素,该元素位于与我当前所在的框架不同的框架中。我正在尝试转到父框架,然后访问另一个框架,下面两个级别(注意 这些标记 < frame >
不 < iframe >
)。我能够在Chrome中完成此操作,但我无法在IE 10中完成此操作。我有以下内容:
var divElem = parent.frames['frameOne'].contentWindow.frameTwo.document.getElementById('myDiv');
我在IE中尝试了contentDocument
以及contentWindow
,但它返回为undefined。我怎样才能在IE 10中正确执行此操作?
答案 0 :(得分:1)
获取具有跨浏览器条件回退的框架文档,如下所示:
//get frame by ID (assign ID to your frame, easier that way)
var frm = document.getElementById("frameOne");
//get frame's document (cross-browser fallback)
var doc = frm.contentDocument? frm.contentDocument: frm.contentWindow.document;
//assign some HTML to frame - in your case you're probably loading content via src
doc.body.innerHTML = '<div id="myDiv">Test</div>'
//access elements within frame
console.log(doc.getElementById("myDiv").innerHTML)
答案 1 :(得分:0)
使用< frame >
时,答案似乎比预期的要容易得多。以下在IE 10中为我工作。
var divElem = parent.frames[2][1].document.getElementById('myDiv');