0

Jquery で .clone を使用してリスト項目を複製しました。

 $("#coll-selected-list li:contains(" + itemName + ")").clone().addClass("avgli").appendTo("#coll-grouped-list");

しかし、新しく追加したリスト項目を切り替えたいのですが、なぜかうまくいきません。何か案は?:

$(document).ready(function () {
    $(".avgli").toggle(function () {
        if ($(this).parent().hasClass('agg-drop')) {
            $(this).css("background", "#fff");
        }
    }, function () {
        if ($(this).parent().hasClass('agg-drop')) {
            $(this).css("background", "#676767");
        }
    }););

<ul id="coll-grouped-list" class="agg-drop">
       <li class="sortedli avgli" style="">Blah Blah</li>
       <li class="sortedli avgli" style="">Blah</li>
</ul>
4

2 に答える 2

1

clone(true)代わりに使用してみてください。クローンのドキュメントを参照してください。

toggle関数は要素にイベント リスナーを追加するため、これらのリスナーのいずれかを複製する必要があります。

于 2012-07-04T14:46:46.347 に答える
0

実例: http: //jsfiddle.net/K2uke/

また、効果を切り替えるためにダブルクリックする必要がないように、スクリプトを少し変更しました。

追加.clone(true)することにより、要素とイベントのクローンが作成されます。

.clone([withDataAndEvents]

withDataAndEventsAイベントハンドラーを要素と一緒にコピーする必要があるかどうかを示すブール値。

参照:http ://api.jquery.com/clone/

于 2012-07-04T15:00:46.617 に答える