0

タイトルをどのように表現するかは完全にはわかりませんが、私がやろうとしていることは次のとおりです。

var items = editArea.children();
var previewedItems = previewArea.children();

var unPreviewedItems = items.filter(function () {
    // ??
});

私はeditAreapreviewエリアを持っています。ユーザーは div を editArea に追加します。それぞれの ID は増加しdata-sciditem1item2などです。ボタンがクリックされると、それらの div がプレビュー エリアに複製されます。各クローンの ID には がプレフィックスとして付いてpreview_おり、data-scids は変更されていません。まだクローンしていない要素のリストを取得したいのですが、基本的にはunPreviewedItems = items.not(previewedItems). どうすればいいですか?

4

1 に答える 1

0

preview_名前からキーを削除したキーを使用して、プレビューしたすべてのアイテムのマップ (名前としてキーを持つオブジェクトなど) を作成します。

次に、プレビューされていないすべてのアイテムを繰り返し処理し、前のマップで見つからないアイテムの新しいリストを作成します。

// create the already previewed map
var map = {};
previewArea.children().each(function() {
    var id = this.id.replace(/^preview_/, "");
    map[id] = true;
});

var unpreviewed = [];
// iterate through the whole list of items
editArea.children().each(function() {
    if (!map.hasOwnProperty(this.id)) {
        unpreviewed.push(this);
    }
});
于 2013-11-14T17:55:06.900 に答える