1

私は jQuery を使用して、ある意味で「現在」のクラスを持つすべてのリンクをキャプチャしています。

これが私のコードです:

$('#filter-by li ul a').live('click',function(e){

    var terms_ids = '';
    var taxonomies = '';
    $('#filter-by li ul a.current').each( function() {
        terms_ids = terms_ids + $(this).parent().attr('class').replace(/[^0-9]/g, '') + ',';
        taxonomies = taxonomies + $(this).closest('.tax-parent-li').find('ul li:first a').attr('rel').replace(/default_/, '') + ',';
    });

});

リンクをクリックすると、現在のクラスを持つすべての要素を計算/キャプチャする必要がありました。これには各ループを使用しました。しかし、除外したいのですが、その方法がわかりません。現在クリックされているリンクに* .currentクラスが既にある場合、現在クリックされているリンクを考慮したくありません。*

現在のクラスには複数のリンクがあります。以前に現在のクラスが既にある場合は、クリックされないようにしたいと思います。

これについて何か助けていただければ幸いです。

4

1 に答える 1

2

より多くのマークアップと情報がなければ、何が必要なのか正確にはわかりませんが、.not()役に立つかもしれません。

DOM 要素のセットを表す jQuery オブジェクトを指定すると、.not() メソッドは、一致する要素のサブセットから新しい jQuery オブジェクトを構築します。提供されたセレクターは、各要素に対してテストされます。セレクターに一致しない要素が結果に含まれます。

例えば、

$('sel').not(this).each(...)

現在の要素 (つまり)を除い.eachて、セレクターに一致するすべての要素でコールバックを呼び出します。this

于 2012-09-14T14:16:36.433 に答える