刚将jquery-1.2.6.js替换成query-1.6.2.js文件时发现一个问题,
<script type="text/javascript" src="js/jquery-1.6.2.js"></script>
<input type="checkbox" οnclick="select_cancel($(this));" class="select">
<br>
<input type="checkbox" name="entityIds" class="select">
<br>
<input type="checkbox" name="entityIds" class="select">
<br>
function select_cancel(obj) { //ignore undefined var selected = false; if (obj.attr("checked")) { selected = true; } obj.click(function() { $("input[@name='entityIds']").each(function() { $(this).attr("checked", selected); }); }); }
此时在jquery-1.6.2.js第4057行报出语法解析错误:
Sizzle.error = function( msg ) { throw "Syntax error, unrecognized expression: " + msg; };
但当将1.6.2换成1.2.6时却能正常解析,可见在1.6.2版本中对去掉了 @name过滤了方式 ,
即在使用jquery-1.6.2.js时将$("input[@name ='entityIds']")改为$("input[name='entityIds']"),也能正常解析。