tomaac Posted September 25, 2007 Report Share Posted September 25, 2007 Izveidoju tabulu: var table = document.createElement('table'); Salieku tajā tabulā rindas un kolonnas. Tad kolonnām ar innerHTML salieku to info iekšā, apmēram, ret = '<input...>'; cell.innerHTML = ret; utt. Tad izveidojas tāda struktūra: <table> <tr> <td> <input id = "id_1">... </td> </tr> <tr> <td> <input id = "id_2">... </td> </tr> utt.... Un tagad man ir šis te mainīgais table un man vajaga piekļūt pie id_1 vai id_2 un nomainīt viņu stili display, nu, kaut ko tādā garā table.getElementById('id_1').style.display = 'none', bet tā jau rakstīt nevar... Kā šamo panākt? Link to comment Share on other sites More sharing options...
andrisp Posted September 25, 2007 Report Share Posted September 25, 2007 Nu tā kā ID dokumentā ir unikāli, tad vari vienkārši document.getElementById('id_1').... Link to comment Share on other sites More sharing options...
tomaac Posted September 25, 2007 Author Report Share Posted September 25, 2007 Problēma ir tā, ka pati tabula vēl nav izveidota fiziska... Nu, tas ir tikai mainīgais table. Tas table vēl nav ielikts DOM-ā. Varbūt tad tādas iespējas nav, kā es vēlos... un tad tikai iekš tiem ret = '<input '; cell.innerHTML = ... būs jāliek tas display, bet tas man likās gana neērti, jo to inputu ir daudz un to display stils atkarīgs no vairākiem parametriem. Šo apstrādi vēlējos ielikt velāk. Link to comment Share on other sites More sharing options...
andrisp Posted September 25, 2007 Report Share Posted September 25, 2007 Veido input elementu arī ar DOM metodēm neviss ar innerHTML. Tādejādi tu varēsi arī propertijas (style.display) mainīt. Link to comment Share on other sites More sharing options...
bubu Posted September 25, 2007 Report Share Posted September 25, 2007 Nevajag lietot innerHTML. Vajag lietot DOM funkcijas: var input1 = document.createElement("input"); tabulas_td_elements.appendChild(input1); input1.id = "id_1"; input1.className = "klase"; input1.type = "button"; ... Link to comment Share on other sites More sharing options...
tomaac Posted September 25, 2007 Author Report Share Posted September 25, 2007 Oki... bet vai tad kods nekļūs mazāk pārskatāms? Man reāli tajā tabulā nav tikai <input> tagi, bet visādi div-i, kuros ir citi div-i, un citi input-i.. utt. Kāda ir "labā prakse"? (nekā daudz nezinu... :( ) Link to comment Share on other sites More sharing options...
v3rb0 Posted September 25, 2007 Report Share Posted September 25, 2007 var arī exotiskam gadījumam innerHTML, bet tad par tbody jāatceras. window.onload=function(){ var table = document.createElement("table"); table.appendChild(document.createElement("tbody")); table.tBodies[0].appendChild(document.createElement("tr")); table.tBodies[0].rows[0].appendChild(document.createElement("td")); table.tBodies[0].rows[0].cells[0].innerHTML = "<u>htmls..<i></u> un ja vajag, pat aplams</i><input type='text' />"; document.body.appendChild(table); } Link to comment Share on other sites More sharing options...
bubu Posted September 25, 2007 Report Share Posted September 25, 2007 Var jau izmantot kautkādu palīgbibliotēku, kas nowrapo DOM elementu izveidošanu daudz ērtākā veidā. Bija viena diezgan laba, bet neatceros diemžēl tās nosaukumu. Uz fikso uzgūglēju kautko ļoti līdzīgu: http://flydom.socianet.com/ Link to comment Share on other sites More sharing options...
Recommended Posts