0

所以我有一个带有表的 div,我试图将它重用于 JSON 数据库中的多个条目。

<div class="myButton">
                <table>
                    <tr id="currentVersion">
                        <td class="subj">Current Version</td>
                        <td class="abt"></td>
                    </tr>
                    <tr id="baseReqs">
                        <td class="subj">Basic System Requirements</td>
                        <td class="abt"></td>
                    </tr>
                    <tr id="reasonsTo">
                        <td class="subj">Reasons to Update to This Version</td>
                        <td class="abt"></td>
                    </tr>
                    <tr id="reasonsNot">
                        <td class="subj">Note the Following Before Updating</td>
                        <td class="abt"></td>
                    </tr>
                </table>
            </div>

我正在使用的 jQuery 分离 div,然后为数据库中的每个条目克隆它。

buttonCreator: function(data){
    var buttonElement = $('.myButton').detach();
    $.each(data, function(index, version){

                    var newButton = buttonElement.clone();
        newButton.attr("id", version.id).addClass(version.status);
        newButton.html(version.shortName);
        /*the next line fails! because the correct element does not exist, evidently*/
        $('.currentVersion .abt', newButton).html(version.currentVersion);
        /*this just prepares the div to be seen correctly, and handle events*/
        newButton.children().hide();
        newButton.click(versionilizer.handleButtonClick);
        $('#myVersionInfo').append(newButton);
        });
},

但我无法让 .clone() 复制该表。我查看了 API,似乎说它应该被复制嵌套数据和任何相关的事件处理程序(如果存在),但到目前为止这还不是我的经验。我尝试将 (true) 和 (true, true) 作为参数传递给 .clone() 和 .detach(),但这也不成功。不确定我需要做什么来复制 div 的内容。

4

1 回答 1

0

您破坏了 with 的内容,newButtonnewButton.html(version.shortName);不再包含表格,而只包含version.shortName.

于 2013-04-12T21:34:24.743 回答