很抱歉,如果这很明显,但已经环顾四周,无法正常工作:
row.find("td.favourite:first-child").attr('disabled', 'disabled');
我正在努力选择td中的复选框,有人可以帮我解决这个问题吗?
答案 0 :(得分:3)
您的复选框是否有ID?如果没有,或者如果在设计时未知,为什么不在复选框中提供CSS类 - 然后只需使用选择器选择类并禁用复选框?
例如,如果给复选框一个CSS类“MyCheckboxCSSClass”(实际上根本不需要在任何地方定义 - 如果你愿意,可以组成一个名字),你可以禁用所有复选框和那个班级一样:
$(".MyCheckboxCSSClass").attr("disabled", true);
我相信这会简化整个过程。
答案 1 :(得分:3)
建议在这些情况下使用prop
代替attr
。
此外,将:checkbox
添加到您的选择器相当于[type="checkbox"]
row.find('td.favorite:first-child input:checkbox').prop('disabled', true);
祝你好运,如果你发布你的标记,它仍然是一个更好的解决方案。
答案 2 :(得分:1)
您的选择器返回第一个td
元素,而不是复选框,请尝试:
row.find('td.favourite:first-child input[type="checkbox"]').attr('disabled', 'disabled');
这个选择器看起来非常冗长。如果您发布HTML,很可能有更好的方法来遍历DOM以进入复选框。