Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Javascript只在chrome和firefox上工作,但在IE上不工作_Javascript_Jquery_Google Chrome_Internet Explorer_Firefox - Fatal编程技术网

Jquery Javascript只在chrome和firefox上工作,但在IE上不工作

Jquery Javascript只在chrome和firefox上工作,但在IE上不工作,javascript,jquery,google-chrome,internet-explorer,firefox,Javascript,Jquery,Google Chrome,Internet Explorer,Firefox,我有一个包含CSS和Jquery的HTML文件。当我在chrome和Firefox上测试它时,它运行良好。但是当我在IE上测试它时,只有CSS部分工作,JavaScript中的点击功能根本不工作 $(文档).ready(函数(){ var-prev; $('svg多边形')。单击(函数(){ 无功电流=此; this.classList.add('mouseclick'); $('#郊区').val(当前的.id); if((typeof prev!='undefined')&(current!

我有一个包含CSS和Jquery的HTML文件。当我在chrome和Firefox上测试它时,它运行良好。但是当我在IE上测试它时,只有CSS部分工作,JavaScript中的点击功能根本不工作

$(文档).ready(函数(){
var-prev;
$('svg多边形')。单击(函数(){
无功电流=此;
this.classList.add('mouseclick');
$('#郊区').val(当前的.id);
if((typeof prev!='undefined')&(current!=prev)){
上一个classList.remove(“鼠标点击”);
}
prev=当前值;
});
$(“#转发按钮”)。单击(函数(){
$(“#ctlform”).submit();
});
});
svg多边形{
填充:无;
笔画:白色;
笔画宽度:1px;
}
svg多边形:悬停{
填充:rgba(255,255,0,0.3);
}
svg polygon.mouseclick{
填充:rgba(255,0,4,0.3);!重要;
笔画宽度:1px;
笔划:rgb(255,0,4);
}

阿什菲尔德
郊区名称:


解决方案:
classList.add()在IE中不兼容。

因此,将其更改为.attr(“class”,“classname”)将解决此问题

您的FF和Chrome缓存中必须有jQuery的缓存版本,因为我看不到您在页面的任何地方都包含jQuery

添加到正文标记正下方的页面:

<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>

编辑:

我看你现在加上去了。我刚刚用加载的jQuery库测试了您的代码片段,它在IE11中工作


PS-酷效

我猜这是从IE10开始的
classList
的用法,它只有部分支持。IE中的开发者工具->脚本告诉你什么,它会给你一个错误


此外,为什么要使用jquery和原生JS。我个人讨厌jquery,但使用它的一个主要原因是为了跨浏览器支持,您可以只使用jquery中的类方法。

对不起,我没有看到jquery导入

注意JQuery 2.*不适用于IE 6/7/8,因为您的问题是使用
类列表
;然而。您可以通过设置
上的
class
属性来解决这个问题

通过运行下面的代码段,您可以看到这一点

$(文档).ready(函数(){
var-prev;
$('svg多边形')。单击(函数(){
无功电流=此;
$(this.attr(“class”,“mouseclick”);
$('#郊区').val(当前的.id);
if((typeof prev!='undefined')&(current!=prev)){
$(上一个).attr(“类”,“类”);
}
prev=当前值;
});
$(“#转发按钮”)。单击(函数(){
document.getElementById(“ctlform”).submit();
});
});
svg多边形{
填充:无;
笔画:白色;
笔画宽度:1px;
}
svg多边形:悬停{
填充:rgba(255,255,0,0.3);
}
svg polygon.mouseclick{
填充:rgba(255,0,4,0.3);!重要;
笔画宽度:1px;
笔划:rgb(255,0,4);
}

阿什菲尔德
郊区名称:



可能是this.classList.add,使用$(this.addClass代替)事件是否会触发?如果在单击处理程序的第一行放置
警报
,会发生什么情况?请尝试使用IE开发者工具进行调试。我认为@dandavis的评论可能是问题所在。请链接您的来源。wierd!我没有我不知道不能使用jquery将类添加到svg。谢谢