Следующий фрагмент используется в сочетании с элементом автозаполнения пользовательского интерфейса jQuery (#search
). В Firefox, Chrome и т. Д. Он ведет себя как ожидалось и всегда возвращает true для выбранного элемента. В Internet Explorer 7 это не .
$('mySelector').filter(function() {
if ($(this).text().toLowerCase() == $('#search').val().toLowerCase()) {
return true;
}
});
За любые подсказки о том, как такое поведение может быть вызвано, я буду очень благодарен!
РЕДАКТИРОВАТЬ: После вставки прекрасной функции анализа Шиме Видасом я снова запускаю вещь, и вот результат сравнения, который должен вернуть true:
![image](https://content.screencast.com/users/MarkusHausammann/folders/Jing/media/e780abdb-d9a7-45a3-a134-635d5e402439/2011-09-20_2110.png)
После еще одного расследования. Кажется, сравнение возвращает истину (слава богу, в противном случае мне понадобилось бы сокращение). Но функция фильтра возвращает любые допустимые объекты. Что и должно, если сравнение верно.
РЕДАКТИРОВАТЬ: Оказывается, я проверял только случаи, когда все было хорошо. Несколько записей имели двойные пробелы между именем и фамилией, что не привело к оценке FALSE в FF и Chrome, но в IE7.