2013-04-25 139 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);