2016-01-21 181 views
0

我有下面的一段代码,它可以在Chrome和Firefox中完美工作,但在IE 10和11中,它不起作用。jQuery hasClass()不适用于IE 11,但适用于Chrome和Firefox

此外,当我在IE中打开开发工具,它工作正常。

任何人都可以帮忙吗?

$("body").on("click", ".js-save-request-meta", function(event) { 
    event.preventDefault(); 
    var el = $(this); 
    var meta_value = el.data('meta-value') || $('input[name="meta_value"]').val(); 
    if(el.hasClass('aspect-is-selected')){ 
     $.post("../ajax/delete_Request_Meta.php", {meta_value:meta_value,request_id:RequestData.request_id}) 
     .done(function(data) { 
      showMessage(data);      
     }); 

    }else{ 

     $.post("../ajax/save_Request_Meta.php", {meta_value:meta_value,request_id:<?=$request['request_id']?> }) 

     .done(function(data) { 
      showMessage(data);    
       }  
      });  
}); 
+0

jQuery的版本中使用 –

+0

我不认为hasClass应该在IE11 –

+0

'VAR meta_value = el.data任何问题( '元价值')|| $('input [name =“meta_value”]')。val();'你能解释一下这个 –

回答

0

此问题是由于缓存的问题引起缺少的功能。这可以通过更改浏览器中的设置来清除缓存并从服务器刷新来解决。但IE 11仍然存在缓存刷新问题。

但是,代码在IE 10中正常工作。谢谢!

0

尝试添加

var isFunc = $.isFunction($.fn.lettering); 

if (!isFunc){ 
    jQuery.fn.yourfunctionname = function() { 
    return new RegExp(' ' + className + ' ').test(' ' + this[0].className + ' '); 
    }; 
} 
相关问题