我最近从jQuery 1.7切换到2.1。现在,以下表达式 - 之前有效 - 会引发语法错误(无法识别的表达式):
find("#[class*='item_id']:contains('_row_key')")
(原始代码的缩短版)
有人知道为什么吗? 感谢
编辑:
这是完整的代码行
var rowKey = $("[id*='FormView']").find("#[class*='item_id']:contains('_row_key')").parent().children(".item_value").html();
答案 0 :(得分:2)
我想对于旧版选择器的支持,您可能需要jQuery Migrate 1.2.1,这将有助于您同时拥有较新的jQuery功能和新功能!
只需在jQuery之后添加以下行。
<script src="http://code.jquery.com/jquery-migrate-1.2.1.js"></script>
<强>更新强>
您可以将代码更改为:
find("*[class*='item_id']:contains('_row_key')");
// ---^
// Or simply...
find("[class*='item_id']:contains('_row_key')");
我猜#
本身就错了!它没有任何意义。