Javascript/jQuery-td unui anumit tabel

Am mai multe tabele(table) cu aceleasi proprietati(val,name etc).Vreau sa selectez celulele(td) unui anumit tabel cu index cunoscut.
Am de ex asta:

document.getElementsByName("nume")[0];

Vreau sa accesez celulele acestui tabel ca apoi sa le modific valorile css(style).

Varianta cea mai simplă și cea mai sigură este să adaugi o clasă fiecărei celule:

<tr>
  <td class="js-id"></td>
  <td class="js-price"></td>
  <td class="js-name"></td>
</tr>

Astfel încât poți face select în funcție de numele clasei:

$('.js-id')
$('.js-name')

Dacă ai nevoie să iterezi prin toată povestea:

$('tr').each(function(i, tr){
  $('.js-id', tr).css({...})
})

Dacă nu vrei (sau nu poți) să adaugi clase fiecărei celule, poți selecta în funcție de index (începe de la zero):

  $('td:eq(2)', tr).css({...})
// sau
  $('td', tr).eq(2).css({...})

Eu unul aș evita selectarea pe baza indexului, pentru că ar însemna să leg JS-ul de ordinea html-ului.


E a doua sau a treia discuție legată de culori și stiluri ajustate din JS. Eu îți recomand să nu faci asta decât în ultimă instanță (e.g. culori dinamice); e mai practic să adaugi o clasă elementului și să stilizezi acea clasă din css.

1 Like

Eu vreau sa selectez TOATE celule tabelului,nu am nevoie de clasa,pur si simplu td.Daca folosesc ultimul cod scris de tine cum fac referire la tabel?

Ah!

Așa iei tabelul:

$('td').closest('table')

Și toate celulele din tabelul ăla:

$('td').closest('table').find('td')
1 Like