我有一个表,radio
每行都有一个。我想要一个selected
有.tr
selected radio
所以我这样做了:
$(":radio[name='grp']").on("change", function() {
$("#tbl1").find("tr.selected, tr:has(:radio:checked)").toggleClass("selected");
});
当您开始radios
从下到上检查时,效果很好。但是,如果您从上到下开始,它会工作一次,然后就不会工作一次,依此类推。
如果没有该find
功能,我可以隔离代码工作得很好:
$(":radio[name='grp2']").on("change", function() {
$("#tbl2 tr.selected, #tbl2 tr:has(:radio:checked)").toggleClass("selected");
});
这里发生了什么事?
更新:我还注意到问题出在find
方法上,因为当它工作时它总是返回一个长度为 2 的 jQuery 对象。当它不起作用时,它返回一个长度为 1。但是,如果我让两个find
在分开的句子中,它们都返回长度为 1 并且来自不同的元素。