function getElementByIdInFrames(id, base) { var el; if(el = base.document.getElementById(id)) { return el; } for(var i = 0, len = base.frames.length; i < len; i++) { if(el = getElementByIdInFrames(id, base.frames[i])) { return el; } } } getElementByIdInFrames("innerdocbody", window).innerHTML;
This means you can also do…
getElementByIdInFrames("innerdocbody", window).innerHTML = "Superducky";
And if you want to use jQuery a one liner will sort you out..
console.log($('iframe[name="ace_outer"]').contents().find('iframe').contents().find("#innerdocbody"));
NOTE: Due to a change in the jQuery API a . after iframe was removed — 10/02/2013
Means you can do..
$('iframe[name="ace_outer"]').contents().find('iframe').contents().find("#innerdocbody").html("Superducky");
Thanks to Mark Fisher for the jQuery example