Я написал некоторый простой код jQuery, чтобы попытаться скрыть строки html-таблицы на основе данных внутри одного из столбцов строк. Написанный мною код отлично работает во всех браузерах, кроме IE8, где он полностью падает (IE перестает отвечать на запросы, пытается перезагрузить вкладку и сообщает, что страница не может загрузиться).
Если я включу
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
страница больше не падает, но было бы лучше на самом деле решить эту проблему, чем применять обходные пути.
Вот пример таблицы HTML и код jQuery, который я использую для скрытия / отображения строк.
<table>
<thead> ... headers, table has 8 columns </thead>
<tbody>
<!--- The fifth column has a date I need to use to hide/show the rows -->
<tr> ... <td>9/27/2011</td> ... </tr>
...
</tbody>
</table>
function filterData() {
$("input[type='checkbox']:checked").attr("checked", false);
//This gets me the date to filter on
var filterDate = new Date($("#SelectedTimePeriod").val());
var minDate = new Date($("#SelectedTimePeriod").val());
minDate.setDate(filterDate.getDate() - 7 * $("#SelectedTimeRange").val());
var maxDate = new Date($("#SelectedTimePeriod").val());
maxDate.setDate(filterDate.getDate() + 7 * $("#SelectedTimeRange").val());
$("tbody tr td:nth-child(5)").each(function () {
var rowDate = new Date($(this).text());
if (rowDate.getTime() < minDate.getTime() || rowDate.getTime() > maxDate.getTime())
$(this).parent().hide();
else
$(this).parent().show();
});
}
Строка, которая кажется сбой IE8:
$(this).parent().hide();
Буду признателен за любую помощь, также, если я смогу предоставить дополнительную информацию, которая может быть полезной, пожалуйста, дайте мне знать.