【问题标题】:Microsoft JScript runtime error: Syntax error, unrecognized expression: input=[id*=chkSendOut]Microsoft JScript 运行时错误:语法错误,无法识别的表达式:input=[id*=chkSendOut]
【发布时间】:2014-06-12 07:23:35
【问题描述】:

每当我尝试加载页面时,都会弹出以下警报,

Microsoft JScript 运行时错误:语法错误,无法识别的表达式:input=[id*=chkSendOut]

代码:

if ($('#' + this.id).find("'input=[id*=chkSendOut]'").length == 0) {

我使用这样的代码行,这有什么错误吗?

【问题讨论】:

  • 我正在尝试将 jquery 版本更新为最新版本,但我遇到了上述错误消息。

标签: javascript jquery html asp.net


【解决方案1】:

尝试在输入后删除不必要的equals to

if ($('#' + this.id).find("input[id*=chkSendOut]").length == 0) {
//-----------------------------^

这导致了错误,因为它是一个无效的选择器。请阅读此处了解更多关于attribute contains selectors的信息。

正如satpal 所说,您在选择器中包含的单引号也会导致错误。也删除它。

【讨论】:

  • 同时删除不明确的引号会更好。 "input[id*=chkSendOut]"
  • 删除了等号,仍然无法正常工作,它说:Microsoft JScript 运行时错误:语法错误,无法识别的表达式:'input[id*=chkSendOut]'
  • @user3732989 请查看答案的编辑版本.. :)
  • 谢谢@RajaprabhuAravindasamy 和 Satpal
【解决方案2】:

看起来您正在尝试使用 id 选择器来定位当前元素,这似乎没有必要。您可以使用this 直接访问它。

$('#' + this.id) 等价于$(this),因为两者都选择当前元素

还要正确添加引号 -

试试

if ($(this).find('input[id*="chkSendOut"]').length == 0) {

【讨论】:

    猜你喜欢
    • 2016-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-28
    相关资源
    最近更新 更多