2010-03-24 72 views
2

在IE8这个JQuery的问题IE8 name属性

input.attr("name","exam.exam_Normal['" +normal_id_unique + "'].boolean_v"); 

输出这只是在IE8 ....

<input propdescname="exam.exam_Normal['1'].boolean_v" type="hidden" value="0"/> 

WHY WHY?为什么到处都是问题...为什么

+0

保存咆哮并正确描述您的问题;什么不工作?它似乎输出正是你想要的。它不在其他浏览器或什么工作?或者当你试图放置'name'时它输出'propdescname'? – 2010-03-24 09:48:57

回答

1

您正在分配的名称属性 是无效的 看起来很奇怪。

我想你可能真的想要做的就是用实际的变量值:

input.attr("name",exam.exam_Normal[normal_id_unique].boolean_v); 

假设变量确实存在在你的脚本。

+0

好吧,我删除了'',然后按照我的意愿工作:)谢谢你的建议 – GorillaApe 2010-03-24 10:08:00

+0

HTML'name'属性的内容模型是CDATA,而不是'NAME'标记(用于ID)。在'name'中包含'[]'是有效的,几乎每个PHP应用程序都可以。 – bobince 2010-03-24 11:22:31

+0

@bobince我纠正了。干杯。 – 2010-03-24 11:24:32

0

输出这只是在IE8 ....

你怎么会认为是“输出”?通常,在开发人员工具中调试DOM时,您只能看到propDescName(和submitName)。它是IE8的内部细节,运行于IE7模式的name属性的实现中,通常对脚本不可见。 (设置name属性在IE到7版本中存在着臭名昭着的问题,所以一般情况下最好避免,除非你真的知道自己在做什么,特别是,虽然它正确设置了用于提交它不会影响无线电输入分组,帧定位或更新form [.elements]查找。)

4

此错误仅显示在IE8开发人员工具(F12)中 - 在DOM中名称属性仍然会被正确设置。看到这post for more

1

不用担心,就像所说的bobince那样,属性名称只会在IE8开发者工具中显示。 真正的DOM属性将完全是您分配的属性。