2011-01-06 32 views
1

非常快速且希望是简单的问题。在遍历JQuery中的元素时使用变量

我想通过一些预定义变量按值选择一个隐藏的输入。

var id = $("#puid").val(); 
$('input[value=id]').closest('tr').css({'background-color':'red'}); 

我认为上面的代码会起作用,但是它没有将处理id作为变量。做这件事的正确表示法是什么? (我已经通过用实际数字替换id来测试代码,其余代码工作正常)。

回答

5

将它从引号中删除,因此该变量连接到字符串中。他们的方式你有它,它正在寻找字面值“ID”,并没有办法知道你在谈论一个变量。

$('input[value='+id+']') 

编辑:更多信息 - 你可以把双引号将ID部分,琴弦里面,在尼克的回答是,这会使得它的安全与非数字ID使用。我省略了它们,因为您的示例不需要它们,正如您所说的,您的ID是数字。

+1

我至少会在这里用引号,因为你不知道那个变量包含了什么。 – 2011-01-06 16:58:16

3

与变量将字符串选择,就像这样:

var id = $("#puid").val(); 
$('input[value="' + id + '"]').closest('tr').css({'background-color':'red'}); 

目前,它看起来这正是value="id",但你希望你的变量存在。