Richtiger selector gesucht

quoVarianz

Grünschnabel
Hallo Foren Leute,

ich hab auf meiner Website den Rhino-Slider eingebaut, allerdings nicht um Fotos darzustellen sondern HTML Inhalte

innerhalb dieser Seiten existieren Div elemente von denen ich gerne die CSS Attribute auslesen wollen würde...tja

klappt leider nicht :( ...die einzelnen Seiten werden vom Slider mittels UL realisiert , das sieht dann so aus :

<ul id="slider">

<li class="1"><object data="indexx.php" id="a" type="text/html" width="800pt" height="500pt"></object></li>
<li class="2"><object data="ui/sliderx.php" id="b" type="text/html" width="800pt" height="500pt"></object></li>
<li class="3"><object data="ui/slidery.php" id="c" type="text/html" width="800pt" height="500pt"></object></li>
<li class="4"><object data="index4.php" id="d" type="text/html" width="800pt" height="500pt"></object></li>

</ul>

z.B enthält die zweite Seite ein Div element namens "psite" mit CSS Values, wenn ich aber mittels

$("ul li.2").("#psite").css('background'); daranzukommen versuche klappt ds nicht

hab schon zig Variationen probiert aber ich krieg entweder undefined...null oder Object...seit Taaagen

wär echt froh wenn jemand ne Idee hätte

LG
Thomas
 
Dazu drei Sachen:
  1. Klassennamen dürfen nicht mit einer Ziffer anfangen
  2. Methoden und Funktionen müssen einen Namen besitzen, auch wenn sie via Method-Chaining hintereinander aufgerufen werden
  3. das wird nicht so funktionieren, wie du dir das denkst.
Warum wird es nicht funktionieren? Ganz einfach: du bindest deine Unterseiten über ein OBJECT-Element ein, welches dir jedoch keinen Zugriff auf die eingebundene Datei ermöglich, also in deinem Fall nicht auf das DOM der Unterseite. Wenn du dies vor hast, solltest du lieber auf iFrames zurückgreifen. Besser wäre es jedoch, wenn du den Quelltext dieser Seiten direkt in das DOM deiner oberen Seite einbindest.
 
Dank dir erstmal Crack,

du hast natürlich Recht, die Klassennamen entsprechen nicht den Konventionen, und sind auch eher im nachhinein entstanden um die Listenelemente irgendwie zu modifizieren um Zugrff auf die unterlemente zu bekommen.


Hab deine Idee mit den Iframes aufgegriffen, jetzt siehts so aus :


<ul id="slider">

<li class="a1"><iframe src="indexx.php" name="a" type="text/html" width="800pt" height="500pt"></iframe></li>
<li class="a2"><iframe src="ui/sliderx.php" name="b" type="text/html" width="800pt" height="500pt"></iframe></li>
<li class="a3"><iframe src="ui/slidery.php" name="c" type="text/html" width="800pt" height="500pt"></iframe></li>
<li class="a4"><iframe src="index4.php" name="d" type="text/html" width="800pt" height="500pt"></iframe></li>

</ul>


nur krieg ich immer noch kein Zugriff auf die in den webseiten enthaltenen Div elemente, oder mach ich was verkehrt wenn ich:

alert($("ul li.2").contents().find("psite").css('background')); benutz?


Deine Idee mit der direkteinbindung klingt aber auch gut,

sähe das in etwa so aus: <script src="http://127.0.0.1/Rhino/index.php"
type="text/javascript"></script> ?

und welchen Befehl muss ich benutzen um anschließend zugriff auf ein Div Element von mir aus "#Test" zu bekommen?


ich weiß Fragen über Fragen ;) Vielen Dank dir aufjedenfall

Gruß

Thomas
 
Du musst einen anderen Kontext für deine Selektoren wählen. Auf Frames greift man wie folgt zu:
Javascript:
document[name_of_frame].document;
Das heißt für dich, dass du wie folgt arbeiten musst:
Javascript:
// iFrame mit Namen "a"
var background = $("psite", document["a"].document).css("background");

// oder auch so
var background = $("psite", document.a.document).css("background");
 
Hallejuliah ...vielen herzlichen Dank, es klappt!

einziger Nachtrag für Leute die hier wegen ähnlicher Probleme landen:

ich muss an den Div Tag das Gatterzäunchen dranhängen also:

var background = $("#psite", document.a.document).css("background");
 
Tag Leute, ich bins mal wieder mit dem (fast selben) Problem.

Wenn ich Style Eigenschaften in dem Schema Übertrag:

var background2 = $("#phead", document.c.document).css('background');

$("#phead", document.b.document).css('background',background2);

klappt das zwar super über Chrome, jedoch leider nicht über firefox.

gibts zu dem eleganten $("#phead", document.b.document).css('background',background2);

im Hinblick auf document.b.document irgendeine Variante die von beiden Browsern akzeptiert wird?

komm einfach nicht an die Div Elemente auf den verschiedenen I-Frames, hier nochmal das Schema nach denen die initialisiert werden:

<li class="a2"><iframe src="ui/sliderx.php" name="b" type="text/html" width="800pt" height="500pt">
 

Neue Beiträge

Zurück