我非常有信心可以做到这一点,但到目前为止我的努力都失败了。我有一个循环生成的div系列,其id = x0,x1,x2等....根据上下文,一个或多个div的html将被重置。如果两个div具有相同的值,并且id是已知的数字,我很容易做到:
$('#x3, #x7').html('new value');
如果id号是变量,如何设置?我第一次尝试:
$('#x'+(location-2), '#x'+(location+3)).html('new value'); // doesn't throw a console error
// but doesn't work
我尝试了大量的排列,包括引号,转义引号,括号{},[],() - 与引号等结合使用等。拔毛等。
为了让项目保持运转,我宣布多次替换并没有太大的额外负担,但单次通话会更加整洁 - 而且,我总是希望学习。
答案 0 :(得分:1)
看起来像一个普通的类是更好的解决方案,但回答你的问题,你没有正确连接:
$('#x' + (location-2) + ', #x' + (location+3)).html('new value');
<强> jsFiddle example 强>
使用location
作为变量名称也可能会遇到问题,因为它是property of the Window object。
答案 1 :(得分:1)
只需创建一个选择器数组,然后加入它们:
var selectors = [
'#x' + (location - 2),
'#x' + (location + 3)
];
var jointSelector = selectors.join(',');
答案 2 :(得分:0)
$("#x"+(location-2)+",#x"+(location+3)).html('new value')
答案 3 :(得分:0)
在结束后,它应该看起来像&#39;#x3,#x7&#39; 。但是在这里你不是用逗号来结尾的。这就是你正在做的错误。
$('#x' + (location-2) + ', #x' + (location+3)).html('new value');