Autor Zpráva
Lislávek
Profil *
Mám tento HTML kód:

<table>
<tr>
<td id="a0">Text 1</td>
</tr>
<tr>
<td id="a1">Text 2</td>
</tr>
<tr>
<td id="a2">Text 3</td>
</tr>
<tr>
<td id="a3">Text 4</td>
</tr>
</table>


a potřeboval bych obsah elementů s ID "a0" až "a3" automaticky dostávat do pole pomocí JS, aby výsledek byl následující:

.... array("Text 1","Text 2","Text 3","Text 4");

Vím že se nato používá žřejmě cyklus "for" ale funkční variantu se mi nepodařilo sestavit, pomůže mi někdo, díky
Zechy
Profil
Lislávek:
Můžeš jím dát společnou class a pak vybranou kolekci projet třeba právě přes ten for.
Chamurappi
Profil
Reaguji na Zechyho:
Jak mu taková změna pomůže? Hledání podle třídy je pomalejší než hledání podle id. Pokud má v ídéčkách systém, nechal bych to tak…


Reaguji na Lislávka:
var obsahy = [];
for(var i = 0; i < 4; i++)
  obsahy.push(document.getElementById("a" + i).innerHTML);

Nebo pro libovolný počet:
var obsahy = [], bunka, i = 0;
while(bunka = document.getElementById("a" + i++))
  obsahy.push(bunka.innerHTML);


Reaguji na Keeehiho ↓:
Ou, díky za upozornění, opraveno.
Keeehi
Profil
Chamurappi:
Nebo pro libovolný počet:
Ještě by tam měla být inkrementace toho i.

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