当选择器不存在时,如何为seletor更改css javascript / jquery

时间:2013-11-04 20:03:26

标签: javascript jquery css cross-browser

我有一个html文件链接到具有此

的外部css文件
#bottomBar td {
    background-color: red;
}

现在在我的javascript中,我需要一些东西,如果浏览器是IE 10,它会使背景颜色变为蓝色而不是红色。这是我试图在我的脚本中添加的内容

if (Function('/*@cc_on return document.documentMode===10@*/')()) { // this checks if it is IE 10
    $('#bottomBar td').css('background-color', 'blue');
}

这不起作用,因为它没有遍历每个bottomBar td,因为还没有。我想要做的就是更改实际的css,无论是否有#bottomBar td,我希望能够为它更改CSS。知道怎么做吗?我想更改我的CSS中的实际文本,但使用

$('#bottomBar td').css('background-color', 'blue');

因选择器

而无效
$('#bottomBar td')

不存在,它不会将背景颜色从蓝色更改为红色。请注意,我有限制,不能使用多个样式表,也不能添加或删除任何其他类。

2 个答案:

答案 0 :(得分:3)

尝试类似:

的CSS:

#bottomBar td {
    background-color: red;
}
.ie10 #bottomBar td {
    background-color: blue;
}

JS:

if (Function('/*@cc_on return document.documentMode===10@*/')()) { // this checks if it is IE 10
    $('body').addClass('ie10');
}

答案 1 :(得分:2)

$('body').append('<style>#bottomBar td { background-color: blue; }</style>');