我正在禁用基于复选框的表单...
我在添加禁用属性时遇到问题。
这是我到目前为止所得到的: 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 Dev Console错误:
Uncaught TypeError: Object #<an HTMLInputElement> has no method 'attr'
当我在item
警报.each()
[object HTMLInputElement]
时
不太确定如何正确选择输入元素。我做错了什么?
答案 0 :(得分:12)
该函数不会为您提供jQuery对象。它应该是:
$("#shipInfoTable input").each(function(index, item){
$(item).attr("disabled", true);
});
(请注意,我也简化了你的选择器,它仍然可以工作)
如果你没有对每个项目做任何事情,那么这也会有效:
$("#shipInfoTable input").attr("disabled", true);
答案 1 :(得分:4)
...
$("#shipInfoTable tbody tr td input").each(function(){
$(this).attr("disabled", true);
});
答案 2 :(得分:0)
问题是.each()函数中缺少$()......
$("#shipInfoTable tbody tr td input").each(function(index, item){
$(item).attr("disabled", true);
});