【问题标题】:Use variable in jQuery selector [duplicate]在 jQuery 选择器中使用变量 [重复]
【发布时间】:2014-11-07 16:16:26
【问题描述】:

在下面的函数中,我希望 idurl 是带有后缀的单词 apple。后缀是number,包含一个数字。例如apple12

但在下面的函数中,我无法将变量 number 与单词 apple 连接起来。

function apple(number) {
  if (something === "0") {
    $('.onchange :checkbox[idurl="apple" + number]').prop('checked', false);
  } else {
    $('.onchange :checkbox[idurl="apple" + number]').prop('checked', true);
  }
};

我尝试使用额外的 " 或 [] 但到目前为止还不是很成功。变量 number 未被识别为变量,因此未与单词 apple 连接。

【问题讨论】:

  • 如何将字符串连接到变量?这是同一件事。选择器只是一个字符串。
  • 这不是重复的,因为该问题询问如何混合变量和选择器。这个问题询问为什么没有将变量添加到输出字符串中。这个问题寻求代码方面的帮助,另一个询问实践

标签: jquery checkbox jquery-selectors concatenation onchange


【解决方案1】:

使用

$('.onchange :checkbox[idurl="apple"' + number+']').prop('checked', false);

断线:

第一部分'.onchange :checkbox[idurl="apple"'

第二个零件号

字符串的第三部分']'

【讨论】:

  • 感谢您的回答。现在工作正常!
  • @Carnifex 欢迎 :)
【解决方案2】:

我相信这是因为它在您的单引号内。试试这个:

$('.onchange :checkbox[idurl="apple"' + number + ']').prop('checked', false);

【讨论】:

    【解决方案3】:

    您需要使用函数中的 number 参数所在的实际数字调用该函数。此外,javascript 无法识别引号中的变量,因此您需要转义单引号。

    $('.onchange :checkbox[idurl="apple"' +number +']').prop('checked', false);

    【讨论】:

      猜你喜欢
      • 2021-01-29
      • 2013-06-10
      • 1970-01-01
      • 1970-01-01
      • 2015-03-29
      • 2010-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多