2013-04-25 316 views
-2

我正在用javascript構建HTML動態表。這裏是一段JavaScript代碼。將類添加到html元素動態

var tr = $('<tr/>'); 
$(tr).append('<td>' + p1 + '</td>'); 
$(tr).append('<td>' + p2 + '</td>'); 
$(tr).append('<td>' + p3 + '</td>'); 
$(tr).append('<td>' + p4 + '</td>'); 
$(tr).append('<td>' + item.status + '</td>'); 
$(tr).append('<td><button class=\"btn\" onclick=\"join(' + item.gameId + ');\">Join</button></td>'); 
$('tbody').append(tr); 

我想向行元素添加一個類('error'或'success')。 我試過

tr.className = "success"; 

這沒有奏效。

回答

2

只需使用 tr.addClass("success")

你正在緩存你的jQuery元素在var tr所以沒有理由打電話$(tr)只是使用tr

+0

這個工程!謝謝。 – janseeuw 2013-04-25 21:59:18

+0

很高興幫助。對其他開發者抱歉。我很害怕在這裏提出問題,因爲有些人忘記了我們都是新人,並且一度在學習。也不知道你的表有多大,但一個循環可能是有用的,因爲p1-4是相同的一組代碼。 – 2013-04-25 22:56:37

1

這應該工作:

$(tr).addClass("success"); 
1

看來你使用jQuery,你應該嘗試使用:$(tr).addClass('success')

而且你做太多不必要的附加,您可以優化您的代碼:

var tr = '<tr><td>' + p1 + '</td>' + 
    '<td>' + p2 + '</td>' + 
    '<td>' + p3 + '</td>' + 
    '<td>' + p4 + '</td>' + 
    '<td>' + item.status + '</td>' + 
    '<td><button class=\"btn\" onclick=\"join(' + 
    item.gameId + 
    ');\">Join</button></td></tr>'; 
$('tbody').append(tr);