2011-08-23 11 views

Odpowiedz

8

Dajcie tr.id = "some_id". To zadziała.

2
var table = document.getElementById("table1"); 
var tr = table.insertRow(); 
tr.id = 'id_for_this_row'; // Just assign a value to the new row's 'id' attribute 
var td = tr.insertCell(); 
td.innerHTML= document.getElementById('txt1').value; 
+0

Ale jej nie działa w Firefoksie – Aravinth

+0

Nigdy nie miałem tego problemu, spróbuj rozwiązania @reporters - masz ten sam problem? – DaveRandom

+1

Będzie działał w firefox również bez żadnego problemu – AmGates

4

ponieważ używasz standardowego Javascript trzeba użyć funkcji 'setAttribute ("align", "centrum", 0);'.

Spróbuj następujący:

tr.setAttribute("id", "myIdNameforThisRow", 0); 
+0

Czy istnieje powód 'tr.id = 'value';' nie zadziała? To jest to, co zawsze robię, kiedy 'document.createElement()' i działa dobrze - nie będzie działać z 'insertRow()'? – DaveRandom

+0

Na swój sposób atrybut musi istnieć, inaczej przeglądarka zwróci błąd (Błąd: operacja na niezdefiniowanej wartości). Tylko programiści przeglądarki wiedzą, dlaczego to nie działa. – reporter

+0

Dlaczego można dodawać niestandardowe atrybuty i metody do obiektów HTMLElement, określając je bezpośrednio, a następnie? Właśnie bawiłem się tym i nie mogę go niszczyć ... – DaveRandom

0

Utwórz zmienną najpierw jak var id = 0;

następnie

tr.id=id; 
 
id++;

użyć tego kodu

Powiązane problemy