Jquery 使用变量时使用多个选择器

Jquery 使用变量时使用多个选择器,jquery,Jquery,在.each(function()中,我试图取消选中复选框。 在第1行中,我在两个不同的Id上设置值,效果很好。 我想做的是,在一行上取消设置两个复选框。即,将第3行和第4行合并为一行。第2行是我尝试过的,但都不起作用(这两行都不起作用)。 (wsSeq由服务器端创建,因此我在多行上获得唯一的ID) 你试过了吗 $('#wsTransferToQuarantine' + wsSeq +',#wsTransferToSupplier' + wsSeq ).prop('checked', false

在.each(function()中,我试图取消选中复选框。
在第1行中,我在两个不同的Id上设置值,效果很好。 我想做的是,在一行上取消设置两个复选框。即,将第3行和第4行合并为一行。第2行是我尝试过的,但都不起作用(这两行都不起作用)。
(wsSeq由服务器端创建,因此我在多行上获得唯一的ID)

你试过了吗

$('#wsTransferToQuarantine' + wsSeq +',#wsTransferToSupplier' + wsSeq ).prop('checked', false);
您刚才在通话中使用了两个不需要的额外引号

您试过了吗

$('#wsTransferToQuarantine' + wsSeq +',#wsTransferToSupplier' + wsSeq ).prop('checked', false);
$("'#wsTransferToQuarantine" + wsSeq + ",#wsTransferToSupplier" + wsSeq + "'").attr('checked', false);
您刚才在通话中使用了两个不需要的额外引号

$("'#wsTransferToQuarantine" + wsSeq + ",#wsTransferToSupplier" + wsSeq + "'").attr('checked', false);
除不必要的引号外,这并不遥远。如果
wsSeq
1
,则选择器如下所示:

$("'#wsTransferToQuarantine1,#wsTransferToSupplier1'").attr('checked', false);
除了两端的
之外,这很好。这应该很好:

$("#wsTransferToQuarantine" + wsSeq + ",#wsTransferToSupplier" + wsSeq).attr('checked', false);
尽管如此,实际上两个ID的选择可能比一个多个ID的选择更快。这种优化可能不是必要的,也不是很好地利用时间

除不必要的引号外,这并不遥远。如果
wsSeq
1
,则选择器如下所示:

$("'#wsTransferToQuarantine1,#wsTransferToSupplier1'").attr('checked', false);
除了两端的
之外,这很好。这应该很好:

$("#wsTransferToQuarantine" + wsSeq + ",#wsTransferToSupplier" + wsSeq).attr('checked', false);

尽管如此,两个ID的选择可能比一个多个ID的选择要快。这种优化可能不是必需的,也不是很好地利用您的时间。

当您说更快时,您的意思是,使用两个单独的语句,而不是合并成一行,DOM的导航会更快吗?我假设通过将它们编码在一起,这将更符合jquery的“标准”。@Keith是的,很有可能–尽管您必须对其进行基准测试,而且这比它的价值更大。一个ID选择可以由
getElementById
处理,速度快得离谱,而两个ID选择必须由启用的
querySelectorAll
处理ly非常快。谢谢。我不知道。哦,好吧,我将把这两行留在那里,但问题已经得到了回答……当你说更快时,你的意思是DOM的导航将更快,有两个单独的语句,而不是合并成一行吗?我假设通过将它们编码在一起,这将更符合j查询。@Keith是的,很有道理——尽管你必须对它进行基准测试,这比它的价值要大。一个ID选择可以由
getElementById
处理,速度快得离谱,而两个ID选择必须由
querySelectorAll
处理,速度非常快。谢谢。我没有意识到。哦,好吧,我留下2个在那里排队,但问题得到了回答。。。。