0

以下の this 関数は、onClick が発生したときに起動されます + ref を使用します。

.detach を正常に動作させることができました。

しかし、私の関数が 2 回目に実行されるとき、detachedMini次のロットをデタッチする前に、実際に何かが含まれているかどうかを確認して、再アタッチできるようにしたいと考えています。

bikeFilter = function (y) {

    var detachedMini,
        detachedMain;

    bikeDetach = function () {

        detachedMini = $('#bike-mini-slider .bike[data-group!=' + y + ']');
        detachedMain = $('#bike-main-slider .bike[data-group!=' + y + ']');

        detachedMini.detach();
        detachedMain.detach();

    };

    if ( !detachedMini == 0 ) {

        $('#bike-mini-slider .bike').append(detachedMini);
        $('#bike-main slider .bike').append(detachedMain);

    }                       

    bikeDetach();

};

私はこれを試しました...

if ( !detachedMini == 0 ) {

しかし、私はそれが正しく機能しているとは思わない。何か案は?

4

3 に答える 3

2

jQuery オブジェクトのlengthプロパティを使用します。

if (detachedMini.length) {
    $('#bike-mini-slider .bike').append(detachedMini);
    $('#bike-main slider .bike').append(detachedMain);
}
于 2012-11-05T11:57:03.897 に答える
0

試す

if ( detachedMini.length != 0 )
于 2012-11-05T11:57:52.520 に答える
0

どうですか:

bikeFilter = function (y) {

    var detachedMini = null,
        detachedMain = null;

    bikeDetach = function () {

        detachedMini = $('#bike-mini-slider .bike[data-group!=' + y + ']').detach();
        detachedMain = $('#bike-main-slider .bike[data-group!=' + y + ']').detach();

    };

    if ( typeof(detachedMini) != "null" ) {

        $('#bike-mini-slider .bike').append(detachedMini);
        $('#bike-main slider .bike').append(detachedMain);

    }                       

    bikeDetach();

};
于 2012-11-05T11:58:26.180 に答える