javascript - jQuery 多 ID 选择器通过变量连接

标签 javascript jquery

<分区>

这是我的代码:

var $btnNone = $('#btn-none');
var $btn1234 = $('#btn-1, #btn-2, #btn-3, #btn-4');

// This selector works fine
var $btnReview1234None = $('#btn-1, #btn-2, #btn-3, #btn-4, #btn-none')

// HOW TO MAKE THIS SELECTOR WORK.
// This selector ignores $btnNone but respects $btn1234.
// This listens only first item in the selector
var $btnReview1234None = $($btn1234, $btnNone); 

$btn1234None.click(function(){
  alert('Lorem')
});

最佳答案

问题是因为 $($btn1234, $btnNone) 将被视为上下文选择器,即。 jQuery 将搜索 DOM 以找到 $btn1234 元素 within $btnNone

要解决这个问题,您可以为选择器提供一个包含两个元素的数组:

var $btnReview1234None = $([$btn1234, $btnNone]); 

或者你可以使用add():

var $btnReview1234None = $btn1234.add($btnNone); 

关于javascript - jQuery 多 ID 选择器通过变量连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42930082/

相关文章:

javascript - knockout.js 引用父对象

php - 用 php 或 javascript 替换 Img 位置/src?

javascript - 如何在发送 Nest.js 之前格式化响应?

javascript - 在另外两个类之间切换元素的简单而优雅的方法

jquery - 切换类不工作

javascript - 如何将 td 与上一行中的 td 进行比较

javascript - 单击按钮时从数组中交换图像

javascript - 转换为base64返回一个非常短的字符串(太短)

javascript - 鼠标滚动在 Google Chrome 上不起作用

jquery - DIV 中的淡入和淡出文本 - 删除循环