IE问题与jquery和JS

我试图编写一个function,从篮子中转移物品并将其推入购物车。 我目前面临的问题是虽然这个代码在FF和Chrome中运行良好但它并不能识别产品。

提前谢谢了。

var modals_pool = {}; $('.deal_order_btn').live('click', function (e) { e.preventDefault(); deal = {}; deal.id = $(this).attr('deal_id'); deal.title = $(this).attr('deal_title'); deal.items = []; additional_total = 0; $(this).parents('.deal_item_holder').find('table.deals_item_').each(function (index, ele) { item = {}; item.id = $(ele).attr('deal_item_id'); item.name = $(ele).find('.deal_item_name a').text(); if ($(ele).find('select.product').length) { item.product = $(ele).find('select.product').val(); } if ($(ele).find('select.product').length === 0) { item.product = $(ele).find('.deal_item_name a').attr('rel'); } if ($(ele).find('select.size').length) { item.size = $(ele).find('select.size option:selected').text(); } if ($(ele).find('.static_size').length) { item.size = $(ele).find('.static_size').text(); } deal_object = modals_pool[$(ele).attr('container_id').replace(/ /g, '_') + "_" + $(ele).find('.product').val()]; //console.log(deal_object); if ($(ele).find('select.product').length && deal_object) { item.product_name = $(ele).find('select.product :selected').text(); item.product_topping = deal_object.selected_topping_normal; item.base = deal_object.default_base; item.product_double_topping = deal_object.selected_topping_double; item.product_total = deal_object.total; additional_total += deal_object.total; } deal.items.push(item); }); deal.total = $(this).parents('li:first').find('span.customize_total_deal').text(); deal.orginal = $(this).parents('li:first').find('span.customize_total_deal').attr('orginal_total'); deal.addtional_topping_total = additional_total; $.post(window.location.href, { 'action': '_saveUserDeal', 'deal_details': JSON.stringify(deal) }, function (data) { if (data.code) { var date = new Date(); var milseconds = date.getTime(); $('.basket_box_holder').load(root + store_name + '/get_cart?' + milseconds); } }); }); 

您的脚本在第683行中出现错误:

对象不支持此操作

这是因为item是Internet Explorer 8及更低版本中的保留关键字,尝试将其重命名为其他内容或使用var关键字在本地声明item。 这可能会解决它:

 var item = {}; 

干杯。