JavaScript 在 IE8/IE7 中不工作,但在所有其他浏览器中都可以

标签 javascript jquery internet-explorer-8

我真的是 javaScript 的新手,所以请多多包涵。我使用的代码是各种各样的大杂烩。

基本上脚本所做的是根据他们选择的托盘数量、他们往返的地点以及所在的区域(每个国家/地区四个区域)计算价格

FIDDLE

所有这一切都工作正常,但当我使用 IE8 时脚本不起作用,我无法弄清楚原因。

当我在 IE8 上加载控制台时,我确实看到了错误。错误是:

SCRIPT87: Invalid argument.
Line 437 character 7

这是哪一行代码

var fromCountry = document.querySelector('input[name="from_country"]:checked').value;

工作演示位于此处 - http://jsfiddle.net/barrycorrigan/f3wz6/

我认为其中一些是纯 JavaScript,一些是 jQuery。这有关系吗?这会是个问题吗?

任何有助于使此代码更好地运行的帮助都将是一个很大的帮助。

最佳答案

正如评论中所指出的,querySelector 在 IE7 中不可用。由于您使用的是 jQuery,因此您应该像这样重写它:

  $('input[name="from_country"]:checked').val()

在幕后,jQuery 会检查浏览器是否支持高效的 querySelector 方法,如果支持,则使用它。否则,它将回退到使用广泛兼容的 Sizzle 选择器引擎。

关于JavaScript 在 IE8/IE7 中不工作,但在所有其他浏览器中都可以,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20974217/

相关文章:

javascript - getElementsByTagName 和 getElementsByClassName 在 IE8 中不起作用

audio - 如何在HTML中使用VBScript播放WAV文件

javascript - 从 JSON API 接收错误值

javascript - 获取具有定义类型的 JSON 对象长度

javascript - Cordova JQuery 错误 VS2015 : Exception: Cannot call method 'concat' of undefined

javascript - 为什么 jQuery $(document).ready() 在验证失败后没有在 Rails 渲染 View 中触发?

javascript - IE8 中的控制台未定义问题

javascript - 以编程方式单击单选输入时,jQuery 更改不会触发

javascript - 处理 js 在 Chrome 扩展中不起作用

javascript - jQuery/JavaScript - 隐藏/显示单选按钮上挂起的下拉框