这是我的代码块。它在 FireFox 和 Chrome 中完美运行。但不是在 IE 中。我收到错误消息“对象不支持‘包含’的属性或方法
”
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 中工作。
最佳答案
如果您查看 includes()
的文档, 大多数浏览器不支持此属性。
在使用 toString()
将属性转换为字符串后,您可以使用广泛支持的 indexOf()
:
if ($(".right-tree").css("background-image").indexOf("stage1") > -1) {
// ^^^^^^^^^^^^^^^^^^^^^^
您还可以使用 MDN 中的 polyfill .
if (!String.prototype.includes) {
String.prototype.includes = function() {
'use strict';
return String.prototype.indexOf.apply(this, arguments) !== -1;
};
}
关于javascript - includes() 不适用于所有浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31340868/