2017-11-28 10 views
0

DIVの内容を日付とタイトルでソートするには、次のコードを使用しています。コンテンツでDIVをソートする

これはうまくいきますが、日付に関しては、私はそれを最新のものと並べ替えることを望みます。

function sortUsingNestedText(parent, childSelector, keySelector) { 
var items = parent.children(childSelector).sort(function(a, b) { 
    var vA = jQuery(keySelector, a).text(); 
    var vB = jQuery(keySelector, b).text(); 
    return (vA < vB) ? -1 : (vA > vB) ? 1 : 0; 
}); 
parent.append(items); 
} 

/* setup sort attributes */ 
jQuery('#sDate').data("sortKey", "span.date"); 
jQuery('#sStyle').data("sortKey", "span.title"); 


/* sort on button click */ 
jQuery("button.btnSort").click(function() { 
sortUsingNestedText(jQuery('.sort-div'), "div", 
jQuery(this).data("sortKey")); 
}); 

どのように私は(#sPrice)のみ日付の順序を変更することができ

+2

株式関連のHTML –

+0

ただ、代替0&1 – Azim

+0

しかし、私はタイトル(#sStyle)のソート順を維持したい - ちょうど –

答えて

0

ソートコールバックの条件でのセレクタのパーサを追加します。

function sortUsingNestedText(parent, childSelector, keySelector) { 
    var items = parent.children(childSelector).sort(function(a, b) { 

    var vA = jQuery(keySelector, a).text(); 
    var vB = jQuery(keySelector, b).text(); 

    // date sorting 
    if(keySelector.indexOf('.date') >-1){ 
     return new Date(vB) - new Date(vA); 
    }else{ 
     return (vA < vB) ? -1 : (vA > vB) ? 1 : 0; 
    } 
    }); 
    parent.append(items); 
} 
+0

を入力してください。この日付は正しく機能しません。日付には年として値が格納されますが、違いがありますか? (すなわち2017年) –

+0

あなたは[mcve]を投稿するリクエストを無視しました。ちょうどそれらを引きます – charlietfl

関連する問題