0

したがって、JSON データベースの複数のエントリに再利用しようとしているテーブルを含むこの div があります。

<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

で のコンテンツを破棄しnewButtonました。newButton.html(version.shortName);テーブルは含まれていませんが、 にあったものだけが含まれていますversion.shortName

于 2013-04-12T21:34:24.743 に答える