Javascript PrototypeJS-克隆输入,即使在Firefox中删除属性后仍保留复选框

Javascript PrototypeJS-克隆输入,即使在Firefox中删除属性后仍保留复选框,javascript,html,prototypejs,Javascript,Html,Prototypejs,我正在克隆一行,更改元素中的某些内容,然后将元素输出到页面。问题是,当我删除选中的属性时,它在IE中工作正常,但FF保留了克隆的原始元素的选中状态 例如: var newHTML = $$('.importRow')[0].clone(true); $(newHTML).select('input').each(function(s, index) { $(s).removeAttribute('checked'); //This is to remove any checked va

我正在克隆一行,更改元素中的某些内容,然后将元素输出到页面。问题是,当我删除选中的属性时,它在IE中工作正常,但FF保留了克隆的原始元素的选中状态

例如:

var newHTML = $$('.importRow')[0].clone(true);
$(newHTML).select('input').each(function(s, index) {  
   $(s).removeAttribute('checked'); //This is to remove any checked value
   if ($(s).hasClassName('someClass') && $(s).getValue() == 'someValue'){ //This is to assign a new default checked value
      $(s).setAttribute('checked','checked');
   }
}
$(this).up().insert({ 
   before: newHTML 
});
我如何绕过这个问题,使FF不保留以前选择的值

编辑:


返回元素时,它会正确地显示它,但是Firefox会因为某种原因记住该值,我不知道如何重写该行为

尝试使用复选框DOM attributes:s.checked=false;s、 defaultChecked=false;,或者,不删除checked属性,而是将其值设置为false:s.writeAttribute'checked','false'


顺便说一句,一旦一个元素用原型函数进行了扩展,您就不需要对它重复调用$;这只会浪费CPU时间。

谢谢,但运气不好。即使对于文本输入,执行s.setAttribute'value'也不起作用。在Firefox中添加了DOM属性之后,我必须这样做。对于输入,必须使用s.value=。