【发布时间】:2015-09-29 05:00:35
【问题描述】:
这里是我的代码块。它在 fireFox 和 Chrome 中完美运行。但不是在 IE 中。我收到错误“Object doesn't support property or method 'includes'”
function rightTreeSwapfunc2() {
if ($(".right-tree").css("background-image").includes("stage1") == true) {
$(".right-tree").css({
backgroundImage: "url(/plant-breeding/img/scenes/plant-breeding/stage5.jpg)"
})
} else {
$(".right-tree").css({
backgroundImage: "url(/plant-breeding/img/scenes/plant-breeding/stage3.jpg)"
})
}
}
我可以稍微改变一下并使用 vanilla JS 来做:
document.getElementById("right-tree").classList.contains
但我宁愿在更改 JS 和编辑 HTML 和 CSS 之前看看是否有办法让它在 IE 中工作。
【问题讨论】:
-
我觉得奇怪的是,伟大的平衡器 jQueery 未能将所有浏览器降低到最低公分母 - 如果
includes在 IE 中不起作用,它不应该在任何浏览器中起作用 -
includes() 跨浏览器功能不稳定
-
includes 与 jQueery 无关 - 问题有缺陷:p
-
您使用的是 1.x 还是 2.x 版本的 jQuery?另外,我同意 Tushar 的观点 - 将 polyfill 添加到您的页面中,以防其他浏览器不支持此功能。
-
.includes()函数与 jQuery 无关。.css()是一个 jQuery 函数并返回一个字符串。.includes()是 IE 不支持的 ES6 中定义的string对象上的函数。您的代码与在没有 jQuery 的情况下执行"foo".includes("o");完全相同。
标签: javascript function internet-explorer methods microsoft-edge