Особенность в 1.4.3 — проявляется в FF3.6.11
Простой пример:
Ранее, до 1.4.3, результат выполнения следующей jQuery-инструкции был равен 2 (выбраны элементы 1.2 и 1.3)
В 1.4.3 результат будет равен… 3 (выбираются элементы 1.2, 1.3 и 1.4).
Судя по всему, дело в изменении алгоритмов поиска jQuery а именно, переходе на использование matchesSelector. Чтобы вернуть поведение в нужное русло надо взять значение аттрибута в кавычки:
Легкой отладки тебе, %username%!
UPD: Что интересно, IE8 (а скорее всего IE<9) не подвержен «багу». У него просто не реализован matchesSelector!
UPD: Есть подозрение, что это баг в FF3.6.11. В Chrome7 (у него есть matchesSelector!) баг не воспроизводится.
Простой пример:
<table>
<tr>
<td myAttr='1'>1.1</td>
<td>1.2</td>
<td>1.3</td>
<td myAttr='1'>1.4</td>
</tr>
<tr>
<td myAttr='1'>2.1</td>
<td>2.2</td>
<td>2.3</td>
<td myAttr='1'>2.4</td>
</tr>
</table>
Ранее, до 1.4.3, результат выполнения следующей jQuery-инструкции был равен 2 (выбраны элементы 1.2 и 1.3)
$('tr').eq(0).find('td').eq(0).nextUntil('td[myattr=1]').length
В 1.4.3 результат будет равен… 3 (выбираются элементы 1.2, 1.3 и 1.4).
Судя по всему, дело в изменении алгоритмов поиска jQuery а именно, переходе на использование matchesSelector. Чтобы вернуть поведение в нужное русло надо взять значение аттрибута в кавычки:
$('tr').eq(0).find('td').eq(0).nextUntil('td[myattr="1"]').length
Легкой отладки тебе, %username%!
UPD: Что интересно, IE8 (а скорее всего IE<9) не подвержен «багу». У него просто не реализован matchesSelector!
UPD: Есть подозрение, что это баг в FF3.6.11. В Chrome7 (у него есть matchesSelector!) баг не воспроизводится.