如何按值选择隐藏字段?

fle*_*esh 31 jquery jquery-selectors

我有一个ASP.NET转发器生成的以下HTML:

<table>
  <tr>
    <td><input type="hidden" name="ItemId" id="ItemId" value="3" /></td>
    <td>Terry</td>
    <td>Deleted</td>
    <td>Low</td>
    <td>Jun 21</td> 
  </tr>
  <!-- rows repeat -->
</table>
Run Code Online (Sandbox Code Playgroud)

如何按值选择特定的隐藏字段,以便我可以操作旁边的列?

Mic*_*ray 83

使用jQuery选择器,您可以通过与所需值匹配的特定属性来定位元素:

$('input[value="Whatever"]');
Run Code Online (Sandbox Code Playgroud)

这样,您可以input通过value等于所需值的属性来定位元素.

编辑2013年5月14日:根据下面的答案,这不再适用于jQuery 1.9.

  • 只是想提一下,但是当你在查询的值周围使用引号时,可能存在跨浏览器兼容性问题.$('input [value = Whatever]')似乎是接受这种查询的方式. (4认同)
  • 正如Glyn Jones所指出的,这不适用于jQuery 1.9+.有关替代方案,请参阅下面的答案. (2认同)

小智 11

注意:由于jQuery 1.9输入[value ="banana"]选择器不再有效,因为输入的"value"在技术上不是属性.你需要使用(更难阅读).filter

例如

$("input").filter(function () {
    return this.value === "banana";
});
Run Code Online (Sandbox Code Playgroud)

另请参见:jQuery 1.9.1属性选择器


Fre*_* LA 8

$('input:hidden[value=\'3\']');
Run Code Online (Sandbox Code Playgroud)