如何将所有td包装成一个tr到我的JQuery代码?

时间:2012-09-01 18:08:09

标签: jquery html

var url = 'json/result.json';
$(document).ready(function() {
    $.getJSON(url, function(data) {
        $.each(data.video, function(index, video) {
            var row = $("<tr></tr>");                   
            $('#userDataGrid').append('<td>' + video.id + '</td>');
            $('#userDataGrid').append('<td>' + video.name + '</td>');
            $('#userDataGrid').append('<td>' + video.url + '</td>');
            $.each(video.author.data, function(index, author) {
                $('#userDataGrid').append('<td> Author: ' + author.name_author + '</td>');
            });
            $('#userDataGrid').append('<br/>');
        });
    });
    $("#userDataGrid p").addClass("selected highlight");
    console.log("========================");
    //console.log(data);
    console.log("========================");
});

3 个答案:

答案 0 :(得分:1)

var row = $("<tr></tr>");                   
row.append('<td>Foo</td>');
row.append('<td>Bar</td>');
..
$('#userDataGrid').append(row);

但这是正确使用追加的方法:

var row = '<tr>';
row += '<td>Foo</td>';
row += '<td>Bar</td>';
..
row += '</tr>';
$('#userDataGrid').append(row);

来源:

答案 1 :(得分:1)

 $.getJSON(url, function(data) {
    $.each(data.video, function(index, video) {
      var row_str= '<tr>';                   
      row_str += '<td>' + video.id + '</td>';
      row_str += '<td>' + video.name + '</td>';
      row_str += '<td>' + video.url + '</td>';

          $.each(video.author.data, function(index, author) {
              row_str += '<td> Author: ' + author.name_author + '</td>';
          });
      row_str += '<br/>';
      row_str += '</tr>';
      $('#userDataGrid').append(row_str);
    });
});

答案 2 :(得分:0)

您可以使用wrapAll方法。

$.each(data.video, function(index, video) {
    // ...
    $('#userDataGrid > td').wrapAll('<tr></tr>')
});