2016-06-22 6 views
-1

私は将来jqueryオブジェクトを操作して操作できるようにしようとしています。しかし、私はこの仕事で失敗しており、誰かが私を正しい方向に向けることができれば嬉しいです。その後jquery要素のリストを保存してアクセスするにはどうすればよいですか?

var allresources = $('.resource-list'); 

、私は、サーバー上で長い時間がかかるいくつかのAJAX操作を行う、私が保存したい理由です:私は何をしようとしていることは第一号店は、リソースのリスト

ですメモリ内のすべてのデータ。 AJAXは私にidsの配列を返す:[1,2,3]。私は、最初のdiv .resource-listの内容をクリアして、自分のidと一致するものだけでそれを設定したいと思います。私はこれらの線に沿って何かをしようとしていますが、本当にどこにもなっていない午前:

var sortResources = function(data){ 
    $('.resource-list').html(''); 
    $.each(data, function(index, value){ 
    $(allresources.children('.filter-resource[data-id="'+value+'"]')[0]).appendTo($('.resource-list')); 
    }); 
} 

おかげ

+0

では、何が効いていないのですか?すべてのコンソールエラー? –

+0

コンソールエラーがなく、画面にHTMLを表示しません。 – peacemaster

+0

'data'の構造をチェックしましたか?それはコレクション/配列ですか? –

答えて

2

allreasource変数はDOM要素への参照だけです。

フィルタリングする前にそれらの要素を消去しています($( '。resource-list')。html( '');)。

私は、問題はこれらのスニペットであると思います.resourceリスト

+0

パーフェクト、ありがとう。それは私の愚かだった。これは魅力のように機能します。 – peacemaster

0

の内容を交換するよりも、あなたは一時的なdiv要素に「有効」コンテンツを追加することをお勧めします。

$('.resource-list').html('');は、文字通りDOMから.resource-listを空にします。

は今children方法は、私たちは、DOMツリー内のこれらの要素の子を検索することができますが、しかし平均時間に.html('')が空になったあなたが行うことができます代わりに何の関連DOM

var allresources = $('.resource-list'); 
var sortResources = function(data){ 
var _virDom = "" 
    $.each(data, function(index, value){ 
    // Not sure what exactly is the DOM, so using span for demo 
    _virDom = '<span class = "filter-resource" data-id="'+value+'"></span>' 
    }) 
    $('.resource-list').html("").append(_virDom) 

    }); 
} 
関連する問題