Error de script solo en ie10 / funciona perfecto en todos los demás navegadores

Uso el siguiente script para reemplazar los menús desplegables en enlaces regulares. Esto funciona perfectamente en Firefox, Chrome, Safari y ie11, pero no funciona en ie10 y más abajo.

La secuencia de comandos:

function replaceDropDowns() { jQuery('.product_attribute_option_link').remove(); jQuery('#selected_combination').text(''); jQuery(".super-attribute-select").each(function() { var drop_down = jQuery(this); drop_down.hide(); drop_down.find("option[value!='']").each(function() { var option = jQuery(this); jQuery("", { text: option.text(), href: '#', class: 'product_attribute_option_link '+ option.text() +'', 'data-id': drop_down.attr('id'), 'data-name': drop_down.attr('name'), 'data-value': option.val(), 'data-label': option.text(), click: function() { drop_down.val(option.val()); var obj = drop_down.get(); Event.observe(obj[0],'change',function(){}); fireEvent(obj[0],'change'); replaceDropDowns(); var selected_combination = []; jQuery(".super-attribute-select").each(function() { if(jQuery(this).val()) { jQuery(".product_attribute_option_link[data-value="+jQuery(this).val()+"]").addClass('product_attribute_option_link_selected'); selected_combination.push(jQuery(this).find("option:selected").text()); } }); jQuery.each(selected_combination, function(index, selection) { jQuery('#selected_combination').append(selection); if(index+1 < selected_combination.length) jQuery('#selected_combination').append(" - "); }) return false; } }).appendTo(drop_down.parent()); }) });} jQuery(function() { replaceDropDowns();}) 

En ie10 obtengo el siguiente error: Valor no definido en prototype.js en:

 var Enumerable = { each: function(iterator) { var index = 0; try { this._each(function(value) { try { iterator(value, index++); } catch (e) { if (e != $continue) throw e; //Exception on throw e } }); } catch (e) { if (e != $break) throw e; } }, 

En Firefox, todo funciona bien, no hay error JS, pero en IE obtengo un error en la función .each que dice que se esperaba un objeto.

En mi caso, se utiliza la función de reposición descendente para que los clientes puedan seleccionar sus tamaños. Para algunas tiendas virtuales, estos tamaños más grandes también significan un precio más alto. El problema es que el precio no se actualiza en ie10 con este script.

Actualizar:

Hice algunos cambios menores por lo que este script no funcionará en ie10. Los clientes verán las posibilidades de menú desplegable normales, mientras que en ie10, todos los demás verán las casillas correctas.

¿Por qué estás mezclando jQuery y Prototype? Sería mejor ir con uno u otro.

Además, aquí está la fuente de su problema:

  var obj = drop_down.get(); Event.observe(obj[0],'change',function(){}); fireEvent(obj[0],'change'); 

La llamada a drop_down.get() devuelve un nodo DOM nativo, pero lo está utilizando como un objeto jQuery. Reemplace todas las instancias de obj[0] con solo obj .