Jump to content
php.lv forumi

Recommended Posts

Posted

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?

Posted

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.

Posted

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";
...

Posted

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... :( )

Posted

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);
}

×
×
  • Create New...