だから私はこの関数()を使用します
months = months.filter(function(e, p) { return months.indexOf(e) == p; });
テストalert();
はその前にのみ機能します。alert() をこの関数の下のどこかに置くと、もう機能しません...
これはIEでのみ発生し、Chromeでは問題ありません。これにより、その下のすべての jquery が中断されます。ここで問題をライブで見ることができます
また、jsファイルへの直リンクはこちら
この関数は、このページmonths
のすべてのdata-mes
属性から繰り返される取得をフィルタリングするためにあります...なぜこれが起こっているのかわかりません。また、私はこれを使用しています:
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
しかし、明らかにこの問題には効果がありません....
この問題の完全なコードは次のとおりです。
// gets all `data-mes` into an array
var months = $('#gride li').map(function() { return $(this).data('mes'); }).get();
// remove repeated meses
months = months.filter(function(e, p) { return months.indexOf(e) == p; });
// sorts the months
var order = ['janeiro','fevereiro','março','abril','maio','junho','julho','agosto','setembro','outubro','novembro','dezembro'];
orderedMonths = months.sort(function(a,b){ return order.indexOf(a) - order.indexOf(b); });
// add them, ordered, to the <select> with id #selectMes
$.each(orderedMonths, function(_, v) {
$('#selectmes').append($('<li class="filter" data-filter="'+ v +'">').val(v).text(v));
});