Autor Zpráva
srigi
Profil
Majme takto zapisanu tabulku:
<div class="table_wrapper" id="master_1">  <!-- class je kvoli CSS stylovniu -->
 <table>
  <tbody>
   <tr class="master" id="slave_1_1">  <!-- class je kvoli CSS stylovniu -->
    ...
   </tr>

...
..
.


Ako ziskam odkaz na element <tbody>, ked poznam iba ID nadradeneho divu master_1? Potrebujem totiz zavolat nad elementom <tbody> metodu removeChild(), aby som mohol dynamicky mazat riadky z tabulky.
THX.
Chamurappi
Profil
Reaguji na srigiho:
Zkus třeba document.getElementById("master_1").tBodies[0].
srigi
Profil
Chamurappi
Bohuzial to nefunguje, aj podla Firebugu lezi tato noda az v elemente <table>, z divu sa na nu nedostanem.

Chvilu som koketoval so zapisom
getElementById("master_1").childNodes[1].childNodes[1]
Ziskal som odkaz na element <tbody>, ale funguje to iba v gecko a IE engine. Opera hlasi chybu Could not convert undefined or null to object, cize neziskala spravny odkaz.

Asi sa na to vyprdnem, prave som zistil, ze IE7 nepodporuje metodu setAttribute(), cim sa moja aplikacia rozpada.
Chamurappi
Profil
Reaguji na srigiho:
Pardon, nevšiml jsem si, že „master_1“ je <div> a ne <table>.
V tom případě půjde spolehlivě použít document.getElementById("master_1").getElementsByTagName("tbody")[0].

ale funguje to iba v gecko a IE engine. Opera hlasi chybu
Prohlížeče někdy považují za textový uzel i mezeru, takže zaměřování konkrétního potomka jen podle pořadí selhává.

prave som zistil, ze IE7 nepodporuje metodu setAttribute()
To jsi zjistil jak? Podporuje ji.
peta
Profil
srigi
setAttribute() nefunguje pouze stejne ve FF a IE.

A na to tbody bych sel z opacne strany
TR.parentNode
srigi
Profil
Chamurappi
To jsi zjistil jak? Podporuje ji.

Kukni sa na tento priklad. Riadky tabulky nedostanu priradenu class, to iste <a href> odkazy (nepriradi sa atribut onClick). Je mi jasne, ze ked ty tvrdis, ze setAttribute() IE podporuje, bude to pravda, ale v mojej aplikacii ta metoda nie a nie fungovat.

V Opere a FF ziadny problem.
centi
Profil
srigi
Problém je niekde inde, nie v setAttribute(): http://blog.centi.sk/clanky/internet-explorer-ako-na-style-atribut-v-j avascripte
Chamurappi
Profil
Reaguji na srigiho:
Na problém s metodou „setAttribute“ jsem ti odpověděl vedle.
srigi
Profil
centi
Dik za riesenie. BTW nevedel by si mi este poradit: classy som opravil, ale nefunguju mi novo vytvorene <a href>. Do <a href> elementov pridavam atribut onClick="add_slave(x); return false;". Bohuzial toto asi tiez nefunguje, nakolko novo vytvorene linky su nefunkcne.
THX.
Chamurappi
Profil
Reaguji na srigiho:
Metoda „setAttribute“ v Exploreru sice nějak funguje, ale nepoužívej ji, pokud nemusíš. Klasický HTML DOM je spolehlivější. Použij:
odkaz.onclick = function()
{
  add_slave(x);
  return false;
};
Dávat JavaScriptem kamkoliv kus skriptu jako řetězec je stejně prasárna.
srigi
Profil
Vdaka za rady tu aj vedla.

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:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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

0