Javascript jQuery:将td元素添加到tr
使用Javascript jQuery:将td元素添加到tr,javascript,jquery,html,Javascript,Jquery,Html,使用行变量动态获取数据并设置表行 var row = '<tr>'+ '<td>'+obj.Message+'</td>'+ '<td>'+obj.Error+'</td>'+ '<td>'+obj.Detail+'</td>'+ '</tr>'; var行=“”+ ''+obj.消息+''+ ''+对象错误+''+ ''+obj.细节+''+ '';
行
变量动态获取数据并设置表行
var row = '<tr>'+
'<td>'+obj.Message+'</td>'+
'<td>'+obj.Error+'</td>'+
'<td>'+obj.Detail+'</td>'+
'</tr>';
var行=“”+
''+obj.消息+''+
''+对象错误+''+
''+obj.细节+''+
'';
基于一个值,我尝试向row对象添加另一个
,但没有成功
if(obj.Type=='Error') {
$(row).find('td:last').append('<td>'+ obj.ErrorCode+'</td>');
}
$('table> tbody:last').append(row);
if(对象类型=='Error'){
$(行).find('td:last').append(“”+obj.ErrorCode+“”);
}
$('table>tbody:last')。追加(行);
首先,我尝试将
添加到行中,但效果不好
$(row).append('<td>'+ obj.ErrorCode+'</td>');
$(行).append(“”+obj.ErrorCode+“”);
使用比较运算符进行比较:
要插入新单元格,请使用.after(),也可以使用.append()
if(对象类型=='Error'){
$(行).append(“”+obj.ErrorCode+“”);
}
在td
中添加您想要的.after
if(obj.Type=='Error') {
$(row).find('td:last').after('<td>'+ obj.ErrorCode+'</td>');
}
if(对象类型=='Error'){
$(行).find('td:last')。在(''+obj.ErrorCode+'')之后;
}
整体而言,
=
上的=
也是一个问题。而不是追加
使用==
(或=
)而不是=
if(obj.Type === 'Error') {
$(row).find('td:last').after('<td>'+ obj.ErrorCode+'</td>'); //This will add the new td after the last one
..
if(obj.Type=='Error'){
$(行).find('td:last')。在(''+obj.ErrorCode+'')之后;//这将在最后一个td之后添加新的td
..
或者只是将其附加到行中:
$(row).append('<td>'+ obj.ErrorCode +'</td>'); //this will do the same thing, less code and append this as last td of your row.
$(行).append(“”+obj.ErrorCode+“”);//这将做同样的事情,减少代码并将其作为行的最后一个td追加。
您在这里犯了错误:
obj.Type='Error'
(=)在此处充当赋值运算符
核对
if(obj.Type=='Error'){
//hence code.
}
您没有存储最后一行 调用
$(行).find(…).append(…)
时,结果不会存储在变量中。最好的解决方案可能是从一开始就保留jQuery对象:
// v--- use a jQuery object here
var $row = $('<tr>'+
'<td>'+obj.Message+'</td>'+
'<td>'+obj.Error+'</td>'+
'<td>'+obj.Detail+'</td>'+
'</tr>');
if(obj.Type=='Error') {
$row.append('<td>'+ obj.ErrorCode+'</td>');
}
$('table> tbody:last').append($row);
//v---在这里使用jQuery对象
变量$row=$(“”+
''+obj.消息+''+
''+对象错误+''+
''+obj.细节+''+
'');
如果(对象类型=='Error'){
$row.append(“”+对象错误代码+“”);
}
$('table>tbody:last')。追加($row);
请参见在搜索DOM并添加另一个
之前,是否必须将行
添加到DOM中
解决方案1
var row = '<tr>'+
'<td>'+obj.Message+'</td>'+
'<td>'+obj.Error+'</td>'+
'<td>'+obj.Detail+'</td>';
if(obj.Type=='Error') {
row += '<td>'+ obj.ErrorCode+'</td>';
}
row += '</tr>';
$('table> tbody:last').append(row);
var行=“”+
''+obj.消息+''+
''+对象错误+''+
''+对象细节+'';
如果(对象类型=='Error'){
行+=''+对象错误代码+'';
}
行+='';
$('table>tbody:last')。追加(行);
解决方案2
var row = '<tr>'+
'<td>'+obj.Message+'</td>'+
'<td>'+obj.Error+'</td>'+
'<td>'+obj.Detail+'</td>'+
'</tr>';
$('table').append(row);
if(obj.Type=='Error') {
$('table').find('td:last').after('<td>'+ obj.ErrorCode+'</td>');
}
var行=“”+
''+obj.消息+''+
''+对象错误+''+
''+obj.细节+''+
'';
$('table')。追加(行);
如果(对象类型=='Error'){
$('table').find('td:last')。在(''+obj.ErrorCode+'')之后;
}
解决方案3
var row = '<tr>'+
'<td>'+obj.Message+'</td>'+
'<td>'+obj.Error+'</td>'+
'<td>'+obj.Detail+'</td>'+
'</tr>';
$('table').append(row);
if(obj.Type=='Error') {
$('table tr').append('<td>'+ obj.ErrorCode+'</td>');
}
var行=“”+
''+obj.消息+''+
''+对象错误+''+
''+obj.细节+''+
'';
$('table')。追加(行);
如果(对象类型=='Error'){
$('table tr').append(“”+obj.ErrorCode+“”);
}
它是==
如果(对象类型=='Error'){…
not=
值得一提的是,这不会阻止他的代码尝试添加单元格。这会使他每次都尝试添加单元格,而不管obj.Type
。这是一个拼写错误。我已经修复了它。所以你可以接受上面的答案,你觉得合适:)@HimanshuYadav我做了一个被更正的拼写错误ected(第1行)。
var row = '<tr>'+
'<td>'+obj.Message+'</td>'+
'<td>'+obj.Error+'</td>'+
'<td>'+obj.Detail+'</td>'+
'</tr>';
$('table').append(row);
if(obj.Type=='Error') {
$('table tr').append('<td>'+ obj.ErrorCode+'</td>');
}