jquery セレクタの"@"について
によると1.3からはSizzleを使うことになりXPath?由来の"@"は使用しないことになったらしいが、 昔のソースを眺めていたらまだ使われていた。 そのソースではjqueryは1.3なんだけど動作しているように思え、念の為検証してみた。
<!doctype html> <html> <head> <meta charset="utf-8"> <title>test jquery 1.3</title> <script src="./jquery-1.3.js"></script> <script type="text/javascript"> $(document).ready(function() { var v0 = $(":radio[@id]:checked").val(); var v1 = $(":radio[id]:checked").val(); var v2 = $(":radio['id']:checked").val(); var v3 = $(":radio[@name='id']:checked").val(); var v4 = $(":radio[name='id']:checked").val(); $("#result0").text(v0); $("#result1").text(v1); $("#result2").text(v2); $("#result3").text(v3); $("#result4").text(v4); }); </script> <style type="text/css"> font-size: 10px; </style> </head> <body> <h1>test result</h1> <form action=""> <input type="radio" name="id" value="0">0 <input type="radio" name="id" value="1">1 <input type="radio" name="id" value="2" checked="checked">2 <input type="radio" name="id" value="3">3 </form> <ul id="result"> <li id="result0"></li> <li id="result1"></li> <li id="result2"></li> <li id="result3"></li> <li id="result4"></li> </ul> </body> </html>
ローカル(Firefox, Chrome, IE11, Edge)で確認してみたところ、やっぱり動いている。 なお、上記のリリースノートにはアップグレードするには単純に"@"を削除しろと書いてあるけど、 [@attr]は['attr']と(当然)しないといけない。