1.4.3に切り替える人のための短いメモ

1.4.3の機能-FF3.6.11に現れる



簡単な例:

<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があります!)バグは再生されません。



All Articles