jQuery:未捕获的错误:语法错误,无法识别的表达式?

问题描述:

我想将一些简单的代码移植到一个更新的jQuery版本(1.10)。jQuery:未捕获的错误:语法错误,无法识别的表达式?

我遇到了困惑我的问题。出于某种原因,这个表达式:

toolbar.find('th#title').find('div input.shorty-filter:[value!=""]').length 

给了我一个意外的错误:

未捕获的错误:语法错误,无法识别的表达:DIV input.shorty过滤器:[!值= '']

这适用于很长时间,我没有看到这个表达式的任何问题。我错过了什么?

+4

删除':'。 – 2014-10-07 18:16:43

+0

@NiettheDarkAbsol Argh!多么明显!谢谢“ – arkascha 2014-10-07 18:32:48

http://jsfiddle.net/3550xz6r/

toolbar.find('th#title').find('div input[value!=""].shorty-filter').length; 
+0

工程,但由于其他原因。请参阅NiettheDarkAbsols评论以上... – arkascha 2014-10-07 18:33:12

+0

是的,他的回答是正确的,但一般为了可读性,我将[value]选择器附加到输入声明。删除:然后添加类别选择器结尾 – 2014-10-07 18:35:38

+0

我会说可读性部分取决于情况,在这种情况下,类是更重要的过滤方面,因此它应该在更多的过滤器之前...但是,谢谢! – arkascha 2014-10-07 18:41:52