使用 JavaSCript 在 IE 中更改 ID css

Posted

技术标签:

【中文标题】使用 JavaSCript 在 IE 中更改 ID css【英文标题】:Change ID css in IE with JavaSCript 【发布时间】:2020-09-28 13:20:16 【问题描述】:

我试图弄清楚如何将 css 显示从无更改为使用 javascript 阻止但仅适用于 IE。目前我有这段代码,但它不会更改 ID #backfill-image 上的 CSS。

<script>
function isIE() 
  ua = navigator.userAgent;
  /* MSIE used to detect old browsers and Trident used to newer ones*/
  var is_ie = ua.indexOf("MSIE ") > -1 || ua.indexOf("Trident/") > -1;

  return is_ie; 

/* Create an alert to show if the browser is IE or not */
if (isIE())

document.getElementById("backfill-image").style.display = "block";

</script>

【问题讨论】:

您的代码对我来说运行良好。 IE11 有时会阻止脚本,如果这是原因,您应该在打开网站后在浏览器底部看到一个弹出窗口。您还可以将控制台日志添加到方法中以确保。 您检查isIE() 是否真的解析为true 它正在使用警报,但没有改变我的 css。 【参考方案1】:

这可能是您的缓存相关问题。尝试按CTRL + F5键硬刷新页面。

你的代码在我这边工作。

<!DOCTYPE html> 
<html> 
<head>
<style>
#backfill-image

	display:none;

</style>

</head>
<body> 
	<div id="backfill-image"><h2>This is my sample text...</h2></div>

<script>
function isIE() 
  ua = navigator.userAgent;
  /* MSIE used to detect old browsers and Trident used to newer ones*/
  var is_ie = ua.indexOf("MSIE ") > -1 || ua.indexOf("Trident/") > -1;

  return is_ie; 

/* Create an alert to show if the browser is IE or not */
if (isIE())

document.getElementById("backfill-image").style.display = "block";

</script>
</body> 
</html>

在ie 11浏览器中的输出:

如果问题仍然存在,请尝试使用我发布的代码进行测试,看看它是否正常工作。

编辑:

IE 不支持 => 箭头函数。您需要更改语法或转译您的代码。您可以使用 Babel 转译代码。参考:babeljs.io 有用的帖子:Why doesn't this arrow function work in IE 11?

另外,请告知我们其他线程中的问题是否已解决。

【讨论】:

事实证明,由于某种原因,IE 没有在任何计算机上加载 JavaScript。我正在使用 WordPress,我尝试停用一些插件并进行更新,但没有运气。我感觉问题出在 WordPress 上,但不能 100% 确定。 您能否按照我在此线程中向您建议的方式检查是否启用了“活动脚本”选项?参考:***.com/questions/62279520/… 活动脚本已启用,我试图弄清楚 javascript 发生了什么,因为代码的一部分破坏了整个 javascript,但仅适用于 I.E. 您的 JS 代码使用 IE 浏览器不支持的内容可能会导致此问题。 IE 不支持 => 箭头函数。您需要更改语法或转译您的代码。您可以使用 Babel 转译代码。参考:babeljs.io 有用的线程:***.com/questions/40216015/…。

以上是关于使用 JavaSCript 在 IE 中更改 ID css的主要内容,如果未能解决你的问题,请参考以下文章

使用 Javascript onkeyup() 更改 IE8 中的不透明度(再次)

是否可以在 JavaScript 中更改 document.activeElement?

在 IE11 中规范化文件名并在 Javascript 中创建新文件

如何在JavaScript中为IE8添加非可枚举属性?

如何更改 javascript 函数以针对所有 ID 后跟数字

[带有IE8的新标签页中的javascript打开页面