Ich habe 2 Frames auf einer Seite wie folgt aus (home.html)Wie Rahmen für den Zugriff auf (nicht iframe) Inhalte von jQuery
<frameset rows="50%, 50%">
<frame id="treeContent" src="treeContent.html" />
<frame id="treeStatus" src="treeStatus.html" />
</frameset>
und dann in einem Rahmen (treeStatus.html) I haben so etwas wie
<body style="margin: 0px">
<div id="statusText">Status bar for Tree</div>
</body>
ich aus dem oberen Fenster will die div in dem Kind Rahmen über jquery (zB Ein- und ausblenden) angeordnet zu manipulieren.
Ich habe severalquestionslikethis gesehen, und sie legen nahe, den folgend
$(document).ready(function(){
$('#treeStatus').contents().find("#statusText").hide();
});
Ich weiß nicht, ob dies mit iframes funktioniert, aber in meinem Fall, wo ich einfachen Rahmen es nicht zu funktionieren scheint. Der Code wird innerhalb home.html platziert
Hier einige Ausgabe von Firebug Konsole ist
>>> $('#treeStatus')
[frame#treeStatus]
>>> $('#treeStatus').contents()
[]
>>> $('#treeStatus').children()
[]
Wie greife ich auf Rahmenelemente aus dem oberen Rahmen? Fehle ich hier etwas?
Antwort
Nachdem beide Antworten hier die Kombination der richtige Weg ist
$('#statusText',top.frames["treeStatus"].document).hide();
dies für den Rahmen zu arbeiten, müssen die Namen abgesehen von der id-Attribut haben, wie folgt aus:
<frameset rows="50%, 50%">
<frame id="treeContent" src="treeContent.html" />
<frame name="treeStatus" id="treeStatus" src="treeStatus.html" />
</frameset>
Nur eine Notiz : Warum Frames verwenden, wenn Sie "position: fixed" verwenden könnten, um eine Statusleiste (oder ein Protokoll, das von der Größe vorgeschlagen wird) immer am unteren Rand des Ansichtsfensters hinzuzufügen ... einen alten Browser zu unterstützen? – alex
@alex Dies ist nur ein minimales Beispiel, das ich für stackoverflow erstellt habe. Die reale Anwendung ist völlig anders. Es ist komplizierter als einfache Statusleisten. Frames sind eine Voraussetzung (Fragen Sie nicht!). – kazanaki
OK, keine Sorge. Ich dachte nur, dass ich das hinzufügen würde (einige Leute wissen nicht über "Position: behoben"). – alex