2010-03-24 12 views
16

Ich brauche Zugriff auf und Element aus einem Frameset-Frame. Zum Beispiel, wenn ich das folgende Markup habe:Wie kann ich ein Element innerhalb eines Frameset-Frames mithilfe von JavaScript abrufen?

<frameset rows="33%,33%,*"> 
    <frame src="frame1.html"/> 
    <frame src="frame2.html"/> 
    <frame src="frame3.html"/> 
</frameset> 

Wie kann ich irgendein Element von einem der Kindrahmen erhalten? Ich habe dies versucht:

window.frames[1].getElementById('someElementId') 

Daraus ergibt sich eine Art Fehler:

getElementById() ist keine Funktion.

Kann jemand helfen?

Danke!

Antwort

20

Sie müssen das Document-Objekt für den Rahmen abrufen.

window.frames[1].document.getElementById('someElementId') 
2

können Sie versuchen auch

mit framename
window.frames['frame_name'].document.getElementsByName('element_name'); 
+0

diese nicht zurück Fenster daher Objekt wird nicht funktionieren, während window.frames [1] Rückkehr Windows-Objekt funktioniert also. – KlwntSingh

5
<frameset rows="33%,33%,*"> 
<frame id="demo" src="frame1.html"/> 
<frame src="frame2.html"/> 
<frame src="frame3.html"/> 
</frameset> 

Antwort:

document.getElementById("demo").contentDocument.documentElement.innerHTML;