JS 动态 json 数组创建在 IE 11 中不起作用

JS dynamic json array creation is not working in IE 11

我必须使用 JavaScript 进行动态 JSON array

我的代码是这样的

var item_id=document.getElementById(vendor_id+"item-id"+i).innerHTML;
var quantity=document.getElementById(vendor_id+"quantity"+i).value;
var unit_price=document.getElementById(vendor_id+"unit-price"+i).innerHTML;
var sub_total=document.getElementById(vendor_id+"price"+i).innerHTML;

item={
      item_id: item_id,
      quantity: quantity,
      price: unit_price,
      sub_total: sub_total
     }
console.log(item.item_id);
products.push(item);

当我在 chrome 上 运行 时,我得到了项目数组,也得到了控制台打印 item_id。 但是当我在 IE 11 上 运行 时,控制台打印是 undefined

item.item_id is undefined

如何更改它以在所有浏览器中工作?

可能您应该先声明项目,例如:

var item = {
      item_id:item_id,
      quantity:quantity,
      price:unit_price,
      sub_total:sub_total
     }

你试过记录 vendor_id 和我吗?可能 getElementById 的字符串与您预期的不同,选择元素不起作用。

另一方面,您确定要针对 IE11 优化您的网站吗?我认为微软今年将停止支持。这可能不值得付出努力。