最近、tablesorter.js で問題が発生しました。空白がスクリプトを壊していたため、日付で並べ替えることができませんでした ( tablesorter、日付で正しく並べ替えられません) 。
私は最終的にこれを理解し、コードを次のように変更しました
$.tablesorter.addParser({
id: 'dayMonthYear',
is: function (s) {
return false;
},
format: function (s) {
s = $.trim(s.replace(/\s+/g, ' '));
var date = s.match(/^(\d{1,2})[ ](\w{3})[ ](\d{4})$/);
var day = String(date[1]);
if (day.length == 1) {
day = "0" + day;
}
var month = monthNames[date[2]];
var year = date[3];
return sortableDate = '' + year + month + day;
},
type: 'numeric'
});
var monthNames = {};
monthNames["Jan"] = "01";
monthNames["Feb"] = "02";
monthNames["Mar"] = "03";
monthNames["Apr"] = "04";
monthNames["May"] = "05";
monthNames["Jun"] = "06";
monthNames["Jul"] = "07";
monthNames["Aug"] = "08";
monthNames["Sep"] = "09";
monthNames["Oct"] = "10";
monthNames["Nov"] = "11";
monthNames["Dec"] = "12";
これでうまくいくように見えましたが、IE8 または IE7 では機能しないことに気付きました。IE9では問題ないようです。
古いバージョンの IE には問題があり$.trim
ますか? もしそうなら、回避策はありますか?
ありがとう
編集:私は答えに近づいていると思います、これを見つけましたhttp://www.javascripter.net/faq/trim.htm