2010-08-12 68 views
1

通过jQuery我动态克隆输入复选框对象,然后我使用这个指令改变其名称:jquery:克隆对象的名称更改不在IE中工作?

row.find('[name="ACCCHB_CDARM"]').attr("name",id); 

ACCCHB_CDARM是我克隆对象的属性的名称。

使用FireFox没有问题,但在IE中它不会改变原始值!

此编码是否正确?

非常感谢。 了Mirco

回答

1

要重现你的错误,我写了下面的代码,它的工作原理只是使用Internet Explorer 8.0罚款:

<script type="text/javascript"> 
    $(document).ready(function(){ 
     var row = $('#row'); 
     var inp = row.find('[name="ACCCHB_CDARM"]'); 
     inp.attr("name","NewName"); 
     alert(inp.attr("name")); 
    }); 
</script> 
<div id="row"> 
    <input type="checkbox" name="ACCCHB_CDARM" /> 
</div> 

NewValue改变name属性NewValue后报警。

它看起来像旧版本的Internet Explorer,name attribute couldn't be changed dynamically(该帖子可追溯到2005年)。该current MSDN documentation for name状态如下:

Microsoft JScript中的允许名称 在运行时

的文件,其中一些例子显示如何动态地更改name在往下走可以改变属性你会找到以下行:

此功能需要的Windows Internet Explorer 7或更高版本

为了让我的答案看起来像你使用的是旧版本的Internet Explorer。