首先,对不起,我不知道如何以不同的方式提出我的问题......
想象一下包含多个订单商品的客户订单表单。
为了更轻松,更快速地处理表单,我们提供了复制订单商品的功能。这种情况发生在克隆功能和工作。必须在克隆对象之前更改某些onclick属性。例如:
// tr is an tr element of a table
$(":input[type=checkbox]", tr).each(function() {
$(this).removeAttr("onclick").click(function() {
func($(this));
});
});
功能:
function func(chkbx)
{
if (chkbx.checked) {
// do stuff...
} else {
// do other stuff...
}
}
现在问题: 当原始tr对象调用该函数时,一切正常,但是当克隆/复制的tr调用该函数时,它总是进入else分支。
我当然检查了传递的对象。从原始tr对象传递它是一个预期的HTMLInputElement,但是从克隆的那个它是一个“普通”对象。奇怪的是,当我检查他们是否有“已检查”属性时,没有人拥有它......
我只是希望函数能够正常运行克隆对象..
我希望有人可以帮助,每个人都了解我:D 感谢
更新:问题解决了:
$(chkbx).prop("checked")
而不是
chkbx.checked
但我想知道为什么attr()函数确实导致了未定义的?