Autor Zpráva
laijk
Profil
ahoj, mám nasledujúci kod v javascripte:
div.getElementsByClassName("trieda")[0].childNodes[1].value = "text" - kde hľadám najprv všetky elementy s triedou "trieda", vyberiem prvý a z neho chcem vybrať hodnotu elementu druhého potomka. Toto sa mi nedarí prepísať do jQuery:
$(div).find(".trieda").children().val("text")[1];
-aj keď debugujem sa zdá, že je to ten istý element, ale nie je - mám trochu zložitý projekt kde sa veľa vecí generuje, a keď túto časť píšem cez jQuery tak mi to vypíše "text" tam kam nechcem - neviem ako cez jQuery získať element keď používam 2 funkcie, ktoré používajú indexy.
Pozrite prosím či je to syntakticky správne (teda skôr logicky) - podľa mňa nieje, ale ak áno tak s tým nič nespravím a musím to ponechať na JS. Diky :)
Chamurappi
Profil
Reaguji na laijka:
Jakou máš motivaci k úpravě kódu tímto směrem?

children().val("text")
Tím nastavíš hodnotu "text" do všech potomků. K vybrání specifického potomka nejde použít standardní indexer, pokud chceš dostat jQuery-obal a ne přímo element, musíš použít funkci eq().

div.getElementsByClassName
Nefunguje v Exploreru 8, používej raději querySelector(".trieda").

ak áno tak s tým nič nespravím a musím to ponechať na JS
Oba uvedené kódy jsou JS. Akorát ten s jQuery je pomalejší, potřebuje knihovnu a nejspíš funguje i v Exploreru 8 (jen pokud je přilinkovaná správná verze jQuery).

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: