2016-04-21 36 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