所以我使用这个函数()
months = months.filter(function(e, p) { return months.indexOf(e) == p; });
并且alert();
只有在它之前才能进行测试。如果我把 alert() 放在这个函数下面的某个地方,它就不再起作用了……
这只发生在 IE 中,在 Chrome 中它很好。这会破坏它下面的每个 jquery。你可以在这里看到问题
另外,js文件的直接链接是Here
此功能用于过滤此页面上 li 上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));
});