6

変数を使用しrowてデータを動的に取得し、テーブル行を設定します。

var row = '<tr>'+
      '<td>'+obj.Message+'</td>'+
      '<td>'+obj.Error+'</td>'+
      '<td>'+obj.Detail+'</td>'+
      '</tr>';

値に基づいて、行オブジェクトに別の値を追加しようとしましたが、機能<td>しませんでした。

if(obj.Type=='Error') {
  $(row).find('td:last').append('<td>'+ obj.ErrorCode+'</td>');
}
$('table> tbody:last').append(row);

最初に行に追加しようとしました<td>が、うまくいきませんでした。

$(row).append('<td>'+ obj.ErrorCode+'</td>');
4

6 に答える 6

9

最後の行を保存していません。

呼び出すと$(row).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);

フィドルを見る

于 2013-10-31T15:14:57.820 に答える
0

あなたはここで間違いを犯しました:

 obj.Type='Error' 

(=) ここで代入演算子として機能します。

確認する

  if(obj.Type=='Error'){
   //hence code.
  }
于 2013-10-31T15:08:10.207 に答える
0

rowDOM を検索して別の DOM を追加する前に、DOM に追加する必要はありません<td>か?

解決策 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);

解決策 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>');
}

解決策 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>');
}
于 2013-10-31T15:21:38.203 に答える