jQuery动态创建div,填充tbody并附加到现有div

时间:2014-10-15 09:17:33

标签: javascript jquery

基本上我已经存在<div class='preferences-grid'>

点击按钮preferences-grid-btn-ok我想调用函数create(),它将:

  1. 创建新的<div class='preferences-container'>
  2. 根据tbody填充for
  3. 我的问题是,我不能append每次按钮创建时for创建的每个tbody <div class='preferences-container'>行创建的行点击。

    当我使用它时:

    jQuery(contents).find(".preferences-table-body").append(row);
    

    当我使用

    时,不会追加任何行
    jQuery(".preferences-table-body").append(row);
    

    第一次没有追加任何行,之后新行被追加到所有现有的<div class='preferences-container'>

    这是jsfiddle链接

1 个答案:

答案 0 :(得分:1)

你正在创建一个字符串contents,但是jquery无法知道它的存在。

这是一个工作小提琴:http://jsfiddle.net/c524Loam/

function create() {
    var contents = "..."

    var $contents = $(contents);

    for (i = 0; i < 3; i++) {
        var row = $('<tr></tr>').addClass('bar').text('result ' + i);
        $contents.find(".preferences-table-body").append(row);
    }
    return $contents;
}

我使用contents创建了一个新的jquery对象,然后在for循环中对其进行了操作。返回后,它会附加到标记上。