jQuery hasClass()不适用于IE 11,但适用于Chrome和Firefox
问题描述:
我有下面的一段代码,它可以在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);
}
});
});
答
此问题是由于缓存的问题引起缺少的功能。这可以通过更改浏览器中的设置来清除缓存并从服务器刷新来解决。但IE 11仍然存在缓存刷新问题。
但是,代码在IE 10中正常工作。谢谢!
答
尝试添加
var isFunc = $.isFunction($.fn.lettering);
if (!isFunc){
jQuery.fn.yourfunctionname = function() {
return new RegExp(' ' + className + ' ').test(' ' + this[0].className + ' ');
};
}
jQuery的版本中使用 –
我不认为hasClass应该在IE11 –
'VAR meta_value = el.data任何问题( '元价值')|| $('input [name =“meta_value”]')。val();'你能解释一下这个 –