Javascript 停止Internet Explorer将我的索引强制转换为int

Javascript 停止Internet Explorer将我的索引强制转换为int,javascript,internet-explorer,Javascript,Internet Explorer,我正在通过一个类似以下内容的表单编制索引: var i = 0; var s = new String( i+'.prop'); var v = document.formName[s].value; 但实际上我得到的是: document.formName[0].value 似乎我的索引值“0.prop”正在转换为int,仅在Internet Explorer(8)中 有没有办法阻止这一切 更新:下面是一个显示问题的例子。应该返回'111',但在IE8中返回foo。Do var s = n

我正在通过一个类似以下内容的表单编制索引:

var i = 0;
var s = new String( i+'.prop');
var v = document.formName[s].value;
但实际上我得到的是:

document.formName[0].value
似乎我的索引值“0.prop”正在转换为int,仅在Internet Explorer(8)中

有没有办法阻止这一切

更新:下面是一个显示问题的例子。应该返回'111',但在IE8中返回foo。

Do

var s = new String(''+i+'.prop');

使用toString()方法:


找到了!根据此名称,属性必须以字母而不是数字开头

因此,调整您的html并使用

var i = 0;
var s = 'prop_'+i;
var v = document.formName[s].value;
将工作(我还更新了小提琴)


这里不需要字符串构造函数,我没有在这里添加,我只是复制了OP的代码。那么删除反对票怎么样?为我工作。。。还是我遗漏了关于你的问题?好奇,这对我很有用。我把我认为是问题代码的部分从更大的块中切掉。让我更进一步。感谢您的回答和跟进。如果您愿意,您可以将此答案标记/投票作为此特定问题的答案:)更新的问题,以包括显示问题的小提琴+托比亚斯,只是需要更多的元素来展示这个问题。
var i = 0;
var s = i.toString() + '.prop';

typeof(s) === string // true
var i = 0;
var s = 'prop_'+i;
var v = document.formName[s].value;