- // IE6-? fails to persist the checked state of a cloned checkbox
- // or radio button
- else if ( nodeName === "input" && src.checked ) {
- dest.defaultChecked = dest.checked = src.checked;
- }
+ } else if ( nodeName === "input" && (src.type === "checkbox" || src.type === "radio") ) {
+ // IE6-8 fails to persist the checked state of a cloned checkbox
+ // or radio button. Worse, IE6-7 fail to give the cloned element
+ // a checked appearance if the defaultChecked value isn't also set
+ if ( src.checked ) {
+ dest.defaultChecked = dest.checked = src.checked;
+ }