2016-04-21 20 views
0

我想用下面的方法删除表中的一列。转义序列jQuery在引号中使用变量

var name = "1"; 
var name1= parseInt($name); 
$('td:nth-child(name1)').hide(); 

这什么都不做。但是,如果我将其硬编码为

$('td:nth-child(1)').hide(); 

它删除列。任何人都可以请建议我去哪里错了?

+1

的连接用的'+'标志完成 - > '$('td:nth-​​child('+ name1 +')')。hide();' – adeneo

回答

0

只需在连接字符串与变量:

$('td:nth-child(' + name1 + ')').hide(); 
0

JavaScript没有做string interpolation。所以,你需要连接你的字符串连接在一起就像这样:

var name = "1"; 
var name1= parseInt(name); // removed $ before variable name 
$('td:nth-child(' + name1 + ')').hide(); 

或者没有做转换为int,这是不是真的有必要:

var name = "1"; 
$('td:nth-child(' + name + ')').hide(); 
+0

“Javascript不会进行字符串插值。是不是真的,有FF和Chrome支持的模板文字和IE浏览器与IE浏览器 – jdphenix

+0

@jdphenix - 好吧,JavaScript **必须在现实世界**,而不是在ES6 transpilers,目前不支持模板文字,但也许在几年左右。 – adeneo

+0

为了清楚起见(我意识到重新阅读我的评论就像泥巴一样清晰),Firefox和Chrome支持至少一年的开箱即用模板文字。这些或Internet Explorer的旧版本需要传输者(现实世界的人使用)。 – jdphenix