【发布时间】:2014-06-11 01:12:02
【问题描述】:
我使用这段 javascript 来创建一个包含一些数据的输入字段(v 和 k 已设置):
element = document.createElement('input');
element.value = v;
element.name = k;
这在 Chrome 中有效,但在 Internet Explorer(使用 v11 测试)中,仅设置了 name 属性,而不设置 value。
奇怪的是,当我使用 jQuery 时,这是可行的:
element = document.createElement('input');
$(element).attr("value", v);
element.name = k;
为什么普通的 javascript 不能在这里工作?根据MSDN,它应该可以工作。
更新
我希望element.value 创建一个值属性,但它没有。确实该值设置正确,但在新创建的值属性或现有值属性的更改中并未显示该值。看来我测试的方式不对。
【问题讨论】:
-
您到处都缺少分号。
document.createElement 'input'应该是document.createElement('input') -
可能对于 IE 你也必须定义
type的字段? -
这适用于 IE11:jsfiddle.net/rL2ta
-
“不工作”,如何检测到?正如您在 Yuriy 的小提琴中看到的那样,您的代码按原样运行。
-
同意Teemu——定义“不工作”。另外,变量
v是否真的有数据/被定义?你想创建什么样的表单元素?设置元素值是非常标准的东西。您应该能够逐步完成并查看失败的地方。
标签: javascript jquery internet-explorer-11