jquery find方法给出语法错误

时间:2013-09-11 14:36:02

标签: jquery html

我在控制台中收到错误消息但我不知道原因:

  

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

它指向的文件是jquery.js文件,第16行。

这是我的代码:

    var contact_number = $('#contact_details').val();
    var call_order = $('#call_order').val();
    var contact_type = $("#contact_types option:selected").val();

    //prevent the user from adding the exact same entry.  
   var result = $('#rule_summary tr').find('td:contains(' + contact_number + ')');

违规行显然是最后一行......我试图调用find方法。

到目前为止我尝试了什么:

我已经更改了最后一行,因此它使用了另一个变量而不是“contact_number”,并且错误消息消失了。所以,例如,我这样做了:

 var result = $('#rule_summary tr').find('td:contains(' + call_order + ')');

我还仔细检查了我保存为“contact_number”的元素是真实/合法的。在控制台中,我这样做了:

 $('#contact_details').val();

它返回并清空一组引号......这是页面加载时的值。 当我在文本框中填入一些垃圾数据并重试控制台时,它会返回正确的结果。例如:

 $('#contact_details').val();
"asdfa"

我看不出我做错了什么......任何建议都会受到赞赏。

感谢。

2 个答案:

答案 0 :(得分:3)

我认为您需要引用您要搜索的值,请尝试:

var result = $('#rule_summary tr').find('td:contains("' + contact_number + '")');

我猜call_order是数字,这就是没有引号的原因。

答案 1 :(得分:0)

尝试

var result = $('#rule_summary tr').find("td:contains('" + contact_number + "')");