Autor Zpráva
Nikd0
Profil *
Ahoj. Mám 2 stránky, zdroj.html obsahující
<P>nějaký text</P>
<p>

<p>
<h2>Středa</h2>
xxx
</p><hr>

<p>
<h2>Čtvrtek</h2>
xxx
</p><hr>

<p>
<h2>Pátek</h2>
xxx</p><hr>

...
</p>
ze které chci vytáhnout do druhé stránky <p> se středou a čtvrtkem do divu vystup.

<iframe src="zdroj.html" id="ifr" style="display: none;"></iframe>

<script>
var obsah = ifr.document.getElementsByTagName('p')[2].outerHTML+"<hr>"+ifr.document.getElementsByTagName('p')[3].outerHTML;
vystup.innerHTML = a;
</script>

<div id="vystup"></div>


Zkouším to různě napsat, vypisovat kousek po kousku dál a dál do toho iframu, ale nikdy tam není to co chci. Buď je proměnná [object] nebo undefined nebo se nenapíše nic. Poraďte prosím, kde je chyba?
Chamurappi
Profil
Reaguji na Nikoh0:
1) Uvedený skript musíš volat až při události onload.
2) outerHTML nefunguje ve všech prohlížečích.
3) V druhém odstavci uvedeného HTML kódu nic není. Do odstavce nejde dát blokový element, tedy ani nadpis.
Nikd0
Profil *
Script jsem dal do funkce volané při onload, outerHTML jsem změnil na inner a ten prázdný <p> jsem smazal, ale pořád to nefunguje.
Chamurappi
Profil
Reaguji na Nikoh0:
Script jsem dal do funkce volané při onload
Vyvolané na elementu <iframe>.

ten prázdný <p> jsem smazal
Kromě prvního odstavce máš všechny <p> prázdné, viz výše odkázaný článek.
Nikd0
Profil *
Jasně že na iframu.

Jo ty jakože ty nadpisy ukončují odstavce, aha. Takže stačí když ty nadpisy udělám třeba jako <b>Středa</b> nebo <p> nahradím <span>, že?

No místo <h2> jsem dal <b> a stejně to nefunguje. Zdá se že je problém v řádku
var obsah = "<p>"+document.ifr.document.getElementsByTagName('p')[1].innerHTML+"</p><hr><p>"+document.ifr.document.getElementsByTagName('p')[2].innerHTML+"</p>";
Chamurappi
Profil
Reaguji na Nikoh0:
document.ifr.document.getElementsByTagName('p')
K dokumentu se přistupuje buď přes jméno (name="něco") rámu skrz frames.něco.document, nebo přes ID skrz document.getElementById("ifr").contentWindow.document.
Nikd0
Profil *
Díky moc.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0