连接包含变量

时间:2015-10-11 20:36:09

标签: javascript jquery

我非常有信心可以做到这一点,但到目前为止我的努力都失败了。我有一个循环生成的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

我尝试了大量的排列,包括引号,转义引号,括号{},[],() - 与引号等结合使用等。拔毛等。

为了让项目保持运转,我宣布多次替换并没有太大的额外负担,但单次通话会更加整洁 - 而且,我总是希望学习。

4 个答案:

答案 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');