使用Javascript/jQuery删除某些CSS

使用Javascript/jQuery删除某些CSS,javascript,jquery,css,internet-explorer-10,css-tables,Javascript,Jquery,Css,Internet Explorer 10,Css Tables,我有一个表格的CSS(只有一行),它位于屏幕底部 #bottomBar td { filter: progid:DXImageTransform.Microsoft.Gradient(starColorStr=#1c67c0, endColorStr=#03389d); padding: 10px !important; color: white; border: 2px solid white !important; font-weightL bold !important; cursor:

我有一个表格的CSS(只有一行),它位于屏幕底部

#bottomBar td {
filter: progid:DXImageTransform.Microsoft.Gradient(starColorStr=#1c67c0, endColorStr=#03389d);
padding: 10px !important;
color: white;
border: 2px solid white !important;
font-weightL bold !important;
cursor: pointer;
}
正如你所看到的,这个过滤器就是为IE 8设计的。我需要这与IE 10兼容,所以我需要删除过滤器,并更换它,让我们说

background-color: blue;
给td一些颜色。我试过这个

if (Function('/*@cc_on return document.documentMode===10@*/')()) { // this checks if it is IE 10
$('#bottomBar td').removeAttr('style');
$('#bottomBar td').attr('style', 'background-color: blue; padding: 10px !important; color: white; border: 2px solid white !important; font-weight: bold !important; cursor: pointer;')
但那不起作用,我也试着

$('#bottomBar td').css('filter','');
在if IE 10函数中,但这也不起作用。。还有其他想法吗


请注意,我不能删除或添加类,长话短说,我有一个非常长的脚本,如果我添加或删除一个类,代码将中断。我也不能有一个外部样式表,很抱歉我没有在帖子中提到这一点。(我知道只有ie10样式表是最好的,但我为其编写代码的人需要以某种方式完成它)。

如果我的理解是正确的,您可以执行以下操作:

if (Function('/*@cc_on return document.documentMode===10@*/')()) { // this checks if it is IE 10
    $('#bottomBar td').css('filter', 'none');
    $('#bottomBar td').css('color', 'red');
    $('#bottomBar td').css('cursor', 'default');
    ...
}
filter的默认值是
none
(),因此通过将其设置为该值,您应该删除它正在执行的任何操作

在下面的示例中,我将IE10中文本的颜色更改为红色,光标将是默认光标,在任何其他主要浏览器中,它将是白色文本和手动光标


小提琴:

如果我的理解是正确的,您可以执行以下操作:

if (Function('/*@cc_on return document.documentMode===10@*/')()) { // this checks if it is IE 10
    $('#bottomBar td').css('filter', 'none');
    $('#bottomBar td').css('color', 'red');
    $('#bottomBar td').css('cursor', 'default');
    ...
}
filter的默认值是
none
(),因此通过将其设置为该值,您应该删除它正在执行的任何操作

在下面的示例中,我将IE10中文本的颜色更改为红色,光标将是默认光标,在任何其他主要浏览器中,它将是白色文本和手动光标


小提琴:

如果你遇到了很多浏览器特定的样式问题,你可能会考虑的一件事是使用JS添加一个<代码>正文-Lead类来识别用户正在使用的浏览器的细节。例如:

  • Firefox:
  • IE10:
  • IE7:
    ielt10
    =“IE,小于10”…即IE浏览器版本9或更高版本)
  • 等等
尽管我们都希望编写适用于所有浏览器的代码,但我们都知道这不会发生设置这样一个框架可以很容易地在CSS中处理特定于浏览器的样式。如果您这样设置,那么您可以像这样更改CSS:

#bottomBar td {
    padding: 10px !important;
    color: white;
    border: 2px solid white !important;
    font-weight: bold !important;
    cursor: pointer;
}

.ie8 #bottomBar td {
    filter: progid:DXImageTransform.Microsoft.Gradient(starColorStr=#1c67c0, endColorStr=#03389d);
}
现在,只有IE8浏览器会添加这个过滤器


建立JS前端是一个小小的工作,但是一旦它就位,它就解决了那些必须有工作的浏览器特定的问题,更容易。

如果你遇到了很多浏览器特定的样式问题,你可能会考虑其中的一件事,正在使用JS添加一个

body
级别的类,该类标识用户正在使用的浏览器的详细信息。例如:

  • Firefox:
  • IE10:
  • IE7:
    ielt10
    =“IE,小于10”…即IE浏览器版本9或更高版本)
  • 等等
尽管我们都希望编写适用于所有浏览器的代码,但我们都知道这不会发生设置这样一个框架可以很容易地在CSS中处理特定于浏览器的样式。如果您这样设置,那么您可以像这样更改CSS:

#bottomBar td {
    padding: 10px !important;
    color: white;
    border: 2px solid white !important;
    font-weight: bold !important;
    cursor: pointer;
}

.ie8 #bottomBar td {
    filter: progid:DXImageTransform.Microsoft.Gradient(starColorStr=#1c67c0, endColorStr=#03389d);
}
现在,只有IE8浏览器会添加这个过滤器


预先设置JS需要一点工作,但一旦安装到位,解决浏览器特有的问题就变得容易多了。

有什么原因不能将过滤器部分拉到自己的css类中吗?然后您可以简单地使用add\remove类来代替?将规则放入页面内的IE条件注释块中,并使用IE样式表或
样式
tag@KyleMuir嗯,是的,我有一个很长的脚本,如果我添加一个类到it@charlietfl你是什么意思?你有什么理由不能把过滤器的零件拉到它的内部吗自己的css类?然后您可以简单地使用add\remove类来代替?将规则放入页面内的IE条件注释块中,并使用IE样式表或
样式
tag@KyleMuir嗯,是的,我有一个很长的脚本,如果我添加一个类到it@charlietfl你是什么意思?Gr,这对我的代码似乎不起作用。我的脚本中一定有一些CSS或JS阻止了它。好的,然后我将通读我的全部代码,找出为什么将filter设置为none对我不起作用。。谢谢。抱歉,请看我编辑的小提琴-它有很多问题。这些问题已经解决。希望它能有所帮助:)我坚持任意更改文本的颜色。另外,您还有很多
!重要信息
css中的标记-您不能覆盖这些标记。看这里:好的,好的,在小提琴中它是好的,但在我的代码中它做不到相同的事情,所以它可能是我代码中的某个地方的问题。谢谢是的,我有很多重要的标签,因为有一个外部样式表需要链接到我写的所有代码(公司政策),所以我只使用它!要覆盖它们的重要标记。Gr,这似乎对我的代码不起作用。我的脚本中一定有一些CSS或JS阻止了它。好的,然后我将通读我的全部代码,找出为什么将filter设置为none对我不起作用。。谢谢。抱歉,请看我编辑的小提琴-它有很多问题。这些问题已经解决。希望它能有所帮助:)我坚持任意更改文本的颜色。另外,您还有很多
!重要信息
css中的标记-您不能覆盖这些标记。看这里:好的,好的,在小提琴中它是好的,但在我的代码中它做不到相同的事情,所以它可能是我代码中的某个地方的问题。谢谢是的,我有很多重要的标签,因为有一个外部样式表需要链接到我写的所有代码(公司政策),所以我只使用它!重要的标记来覆盖它们。好主意,我会的