Autor Zpráva
yFang
Profil
Mám např. tento kód:

:
<div id="identifikator">
<div>
Obsah divu...
</div>
<div>
Obsah divu...
</div>
<div>
Obsah divu...
</div>
</div>
:


Potřebuju vybrat všechny divy, které jsou v divu identifikator, ale nevím, jak na to.
Chamurappi
Profil
Reaguji na yFanga:
document.getElementById("identifikator").getElementsByTagName("div")
yFang
Profil
Chamurappi
Aha. Dík.
yFang
Profil

var IE=(document.all)?1:0;
var NS=(document.layers)?1:0;
var DOM=(document.getElementById)?1:0;

function GetObject(obj) {
if (DOM) myObject=document.getElementById(obj);
else if (IE) myObject=eval('document.all.'+obj);
else if (NS) myObject=eval('document.layers.'+obj);
return myObject;
}

function zastinit(){
GetObject("text").getElementsByTagName("div").className='preview2';
}


Mám to takhle a u body onload="zastinit()" a nic to nedělá. :(
Tu funkci GetObject jsem našel na http://developer.mozilla.org/cs/docs/Opravy_chyb_webmaster%C5%AF:Nefun k%C4%8Dn%C3%AD_prvky_str%C3%A1nky
Chamurappi
Profil
Reaguji na yFanga:
Metoda getElementsByTagName vrací kolekci elementů (cosi jako pole), nemůžeš k ní přistupovat jako k jednomu elementu. Jestli chceš všem jejím prvkům nastavit className, musíš je projet cyklem.

Ale spíš bych se na tvém místě zamyslel nad tím, zda skutečně potřebuješ to, o co se snažíš. Nebylo by lepší třídu nastavit pro <div id="text"> a ve stylopisu pak zaměřovat potomky <div>u s touto třídou?
yFang
Profil
Chamurappi
Ale spíš bych se na tvém místě zamyslel nad tím, zda skutečně potřebuješ to, o co se snažíš. Nebylo by lepší třídu nastavit pro <div id="text"> a ve stylopisu pak zaměřovat potomky <div>u s touto třídou?
Asi ano. Zkusím si s tím trochu pohrát. Díky.
peta
Profil
yFang viz
=getElements=ByTagName
ne jeden, ale vice
divy[0].neco
divy[1].necoChamurappi

melo by ti stacit: getElementById , protoze ty ostatni pro dalsi prohlizece jsou fajn, ale ty prohlizece jaksi nemaji dalsi metody DOM jako getElementsByTagName. Cili, kdyz tam nefunguje prvni, tak ani ta druha a tim padem v tomto jednoduchem pripade je dalsi adresovani objektu zbytecne (pres layer a pod).
yFang
Profil
peta
Už sem to vyřešil, zapojil jsem víc hlavu a CSS a funguje to podle mých představ. ;)

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: