将类添加到html元素动态

时间:2013-04-25 21:52:03

标签: javascript jquery html

我正在使用javascript在html中构建动态表。这是一段javascript代码。

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

我想在row元素中添加一个类('error'或'success')。 我试过了

tr.className = "success";

这不起作用。

3 个答案:

答案 0 :(得分:1)

这应该有效:

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

答案 1 :(得分: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);

答案 2 :(得分:1)

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

你正在var tr中观察你的jquery元素,所以我没有理由只使用$(tr)来调用tr