2011-03-12 87 views
5

我想对每个隐藏的输入值进行一些操作,所以我使用jQuery对以下JavaScript进行了编码。

$.each($("input[type='hidden']"), function (index, value) { 
    alert(value.val()); 
}); 

,但我得到他下面的执行错误:value.val is not a function.

我在做什么错?

回答

9

迭代函数中的值是一个Node,而不是一个jQuery对象。

你仍然需要去:$(value).val();

看到这里的最后一个例子:http://api.jquery.com/each/

10

这会工作:

$("input[type=hidden]").each(function() { 
    $(this).val() //do something with 
}); 
+1

我想补充,另外还有':hidden'伪选择,所以'input:hidden'产生相同的匹配。 – karim79 2011-03-12 18:45:48

+1

其实我不太确定karim79这里写的是正确的。我相信input:hidden将选择通过CSS(例如)使其不可见的输入元素,这与查找隐藏类型的输入元素不同。原来的问题对于想要的东西有点模棱两可,但我只是提及它以防万一它有用。 – shearichard 2011-12-12 03:31:01