我正在尝试勾选一个位于tablerow第一个单元格内的复选框。
var checkbox = $(this).find("td").eq(0);
返回一个[Object object]但是当我使用html()函数时,很明显它只返回input元素的代码。
是否可以转换变量复选框,以便我可以检查它?
答案 0 :(得分:3)
你得到[Object object]
,因为.eq()
返回一个jQuery对象。
您正在使用.html()
获取HTML代码,因为这是jQuery对象的一种方法,它返回一个元素内的HTML(类似于原始Javascript .innerHTML()
)。
要从jQuery对象获取原始HTML DOM元素,您可以尝试类似:
var rawDomElement = $(this).find('td')[0];
但是如果要检查复选框,可以尝试在表示复选框DOM元素的jQuery对象上调用.attr('checked', true)
。
答案 1 :(得分:1)
试试这个:
var checkbox = $(this).find("td:first :input[type=checkbox]");
checkbox.prop('checked',!checkbox.prop('checked'));
我建议您使用jquery的prop
方法而不是attr
方法。
答案 2 :(得分:1)
var checkbox = $(this).find("td:first").find(':checkbox');