⊗jsPmPrTCVOA 471 of 505 menu

Vytváření HTML tabulky z pole objektů

Předpokládejme, že máme dané nějaké pole objektů, například takové pole s uživateli:

let users = [ { name: 'name1', surname: 'surname1', patronymic: 'patronymic1' }, { name: 'name2', surname: 'surname2', patronymic: 'patronymic2' }, { name: 'name3', surname: 'surname3', patronymic: 'patronymic3' }, ];

Vytvořme z tohoto pole HTML tabulku, do každého řádku které zapíšeme data jednotlivého uživatele.

Při takové struktuře ukládání dat obvykle spustíme jeden cyklus přes pole a vytvoříme každou buňku tabulky ručně, například takto:

<table id="table"></table> let table = document.getElementById('table'); for (let user of users) { let tr = document.createElement('tr'); let td1 = document.createElement('td'); td1.textContent = user.name; tr.appendChild(td1); let td2 = document.createElement('td'); td2.textContent = user.surname; tr.appendChild(td2); let td3 = document.createElement('td'); td3.textContent = user.patronymic; tr.appendChild(td3); table.appendChild(tr); }

Tento přístup poskytuje velkou flexibilitu - můžeme sami regulovat pořadí umístění dat v buňkách tabulky (můžeme například prohodit jméno a příjmení).

Kromě toho můžeme v případě potřeby přidávat události na určité buňky. Například, na buňku s příjmením můžeme přidat nějakou akci při kliknutí a tak dále.

Je dáno následující pole se zaměstnanci:

let employees = [ {name: 'employee1', age: 30, salary: 400}, {name: 'employee2', age: 31, salary: 500}, {name: 'employee3', age: 32, salary: 600}, ];

Vypište prvky tohoto pole ve formě HTML tabulky.

Upravte předchozí úlohu tak, aby při kliknutí na libovolnou buňku s věkem se její obsah zvýšil o 1.

Upravte předchozí úlohu tak, aby při kliknutí na libovolnou buňku se mzdou se její obsah zvýšil o 10%.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout