8

チェックボックスに基づいてフォームを無効にしています...

disabled 属性の追加に問題があります。

ここに私がこれまでに得たものがあります: HTML:

<table id="shipInfoTable">
  <tr>
   <td>Name:</td>
   <td><input type="text" name="name" /></td>
  </tr>
  ...
</table>

Javascript セレクター/属性操作 (jquery):

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

Chrome デベロッパー コンソール エラー: Uncaught TypeError: Object #<an HTMLInputElement> has no method 'attr'

私が警告するときitem.each()それは警告します[object HTMLInputElement]

入力要素を適切に選択する方法がよくわかりません。私は何を間違っていますか?

4

3 に答える 3

12

この関数は jQuery オブジェクトを提供しません。そのはず:

$("#shipInfoTable input").each(function(index, item){
    $(item).attr("disabled", true);
});

(セレクターも簡略化したことに注意してください。それでも機能します)
各アイテムで何もしていない場合、これも同様に機能します:

$("#shipInfoTable input").attr("disabled", true);
于 2010-02-27T18:56:01.870 に答える
4

....

$("#shipInfoTable tbody tr td input").each(function(){
    $(this).attr("disabled", true);
});
于 2010-02-27T18:58:59.977 に答える
0

問題は、.each() 関数に $() がないことです...

$("#shipInfoTable tbody tr td input").each(function(index, item){
    $(item).attr("disabled", true);
});
于 2010-02-27T20:06:16.563 に答える