【问题标题】:jquery - Syntax error, unrecognized expression:jquery - 语法错误,无法识别的表达式:
【发布时间】:2014-03-26 21:50:44
【问题描述】:

对于我下面的小提琴,我看到了错误

http://jsfiddle.net/d3qD4/23/

如何处理小数和空格(现在使用.splitjoin() - 不确定这是否正确)并避免无法识别的表达式。有什么想法吗?

$('label[title=' + $this.text().split(" ").join("") + ']').prev('input').prop('checked', false);

【问题讨论】:

  • 您看到的错误是什么?
  • 当我选择 14.5 或 test.com 复选框时,它们被添加到下面的 div 中,当我单击图像时,它们应该从 div 中删除 - 其余复选框都会发生这种情况但不是这两个 - 错误:语法错误,无法识别的表达式:[title=14.5] ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js Line 3

标签: javascript jquery syntax


【解决方案1】:

尝试将属性值用引号括起来:

$('label[title="' + $this.text().split(" ").join("") + '"]')

所以你最终得到[title="14.5"] 而不是[title=14.5]

【讨论】:

  • 我试过了 - 错误更新为 Error: Syntax error, unrecognized expression: [title="14.5 "], doesn't work.
  • 看起来你最后有一个空格..这就是你做分割/加入的原因吗?试试$this.text().replace(/ /g, '')
  • 我没有多余的空间,正则表达式也不起作用:你可以检查我的小提琴 - jsfiddle.net/d3qD4/23
  • 它有一个换行符和一大堆空格。这修复了选择器($.trim() 和引号):$('label[title="' + $.trim($this.text()) + '"]')
猜你喜欢
  • 2013-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-21
  • 1970-01-01
  • 1970-01-01
  • 2017-02-12
相关资源
最近更新 更多