选择并禁用表单中的每个输入字段,包含在jquery中的表中

Der*_*air 8 jquery jquery-selectors jquery-traversing

我正在禁用基于复选框的表单...

我在添加disabled属性时遇到问题.

这是我到目前为止所得到的:HTML:

<table id="shipInfoTable">
  <tr>
   <td>Name:</td>
   <td><input type="text" name="name" /></td>
  </tr>
  ...
</table>
Run Code Online (Sandbox Code Playgroud)

Javascript选择器/属性操作(jquery):

$("#shipInfoTable tbody tr td input").each(function(index, item){
    item.attr("disabled", true);
});
Run Code Online (Sandbox Code Playgroud)

Chrome Dev Console错误: Uncaught TypeError: Object #<an HTMLInputElement> has no method 'attr'

当我提醒了item的内.each()它提醒[object HTMLInputElement]

不太确定如何正确选择输入元素.我究竟做错了什么?

Kob*_*obi 12

该函数不会为您提供jQuery对象.它应该是:

$("#shipInfoTable input").each(function(index, item){
    $(item).attr("disabled", true);
});
Run Code Online (Sandbox Code Playgroud)

(注意我也简化了你的选择器,它仍然可以工作)
如果你没有对每个项目做任何事情,这也会有效:

$("#shipInfoTable input").attr("disabled", true);
Run Code Online (Sandbox Code Playgroud)