javascript - 为什么我的 div 在 IE 中不改变颜色?

标签 javascript jquery css html internet-explorer

以下场景在 IE 中无法实现。

样式:

.tabmenu {
    background-color: #990000;
    display: inline-block;
    width: 150px;
    position: relative;
    left: 59%;
    border-top-left-radius: 10em;
    margin-bottom: -8px;
    min-width: 75px;
    max-width: 150px;           
    font-size: 13px;
    font-weight: bold;
    font-style: normal;
    font-family: Arial;
    border: none;
    padding: 5px 5px;
    height: auto !important;
    cursor: pointer !important;
    color: #ffffff !important;
    text-align: center;
}

在 .cshtml 文件中

<div class="tabmenu" style="width:100px;" onclick="btnCommonOnClick()" id="btnCommon">Common</div>
<div class="tabmenu" style="background-color:#999999!important;"  onclick="EquipmentSpecificOnClick(1)" id="btnEquipment">Specific</div>   
<div class="tabmenu" style="background-color:#999999!important;width:100px;" onclick=" btnUnassignedonClick(this)" id="btnUnassigned">Unassigned</div>
<div class="tabmenu" style="background-color:#999999!important;width:100px;" onclick="OrphanOnClick()" id="btnOrphan">Orphan</div>

首先加载背景颜色看起来不错。当我点击任何其他 div 时,更改该 div 的背景颜色。为此,我给出了代码:

$("#btnCommon").css("background-color","#999999 !important");//grey
$("#btnEquipment").css("background-color","#999999 !important");//grey
$('#btnOrphan').css("backgroundColor","#999999!important");//grey
$('#btnUnassigned').css("backgroundColor","#990000!important");//red

以上代码在 IE 中不工作。 div 颜色未更改为红色。仍然是灰色。

有什么解决办法吗?

最佳答案

可以用 IE Edge 确认,使用内联 background-color:#999999!important CSS 不会被覆盖。

如果您删除 !important 声明,它将正常工作。

我添加到一个 html 页面:

<div class="tabmenu" style="background-color:#999999!important;width:100px;" onclick="OrphanOnClick()" id="btnOrphan">Orphan</div>

并在开发者控制台中运行:

$('#btnOrphan').css("backgroundColor","#990000!important");

但是背景颜色没有改变。

将 html 更改为:

<div class="tabmenu" style="background-color:#999999;width:100px;" onclick="OrphanOnClick()" id="btnOrphan">Orphan</div>

和运行:

$('#btnOrphan').css("backgroundColor","#990000");

背景颜色改变。

如果您需要保留 !important 声明,您可以尝试定义两个 css 类:

.bg-gray {background-color:#999999 !important;}
.bg-red{background-color:#990000 !important;}

并像这样标记您的 HTML:

<div class="tabmenu bg-gray" style="width:100px;" onclick="OrphanOnClick()" id="btnOrphan">

并更改点击处理程序中的颜色:

$('#btnOrphan').removeClass("bg-gray").addClass("bg-red");

关于javascript - 为什么我的 div 在 IE 中不改变颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44896946/

相关文章:

javascript - 删除网格单元格之间的空间

javascript - mongoDB - 游标仅使用 node.js 驱动程序更新 1 个文档

javascript - 如何在 javascript/jquery 中循环 json 并正确读取数据

javascript - 当我删除列时获取 id

css - 如何在另一个div中 float 4个div

html - 在 css 中尝试 clip 属性

javascript - React 中的 Ag-grid 纯 JS 单元渲染器

javascript - IE 中神秘的运行时错误

javascript - 在 Cufon 中使用 jquery not() 选择器

javascript - icanhaz/mustache 循环(遍历元素)js 错误