使用jquery更改css规则

时间:2014-12-15 17:49:33

标签: jquery html css

我有以下css规则:

.headerWrapperDiv3 a{
    color:#888;
}
.headerWrapperDiv3 a:hover {
    color:#444;
}

以及以下标记:

<div class='headerWrapperDiv3'>
<ul class="nav90">
    <li><a href="index.aspx" pageCatID="3" >Home</a></li>
</ul>
</div>

我正在使用这个jQuery在页面加载后更改链接的颜色:

$(function() {
    $("a[pageCatID=3]").each(function(){
        $(this).css("color", "#00ff00");
    });
});

jquery发现链接正常,但无法更改颜色。

4 个答案:

答案 0 :(得分:2)

试试下面的例子

 $(function() {
        $(".nav90 a").each(function(){
            $(this).css("color", "#00ff00");
        });
    })

解决方案:如上所示,只需定位 .nav90 ,然后定位 a

注意:如果您想要更具体,请遵守Rodrigo对您的代码所做的更正,您就可以了。

答案 1 :(得分:2)

试试这个(用单引号括住值):

$(function() {
    $("a[pageCatID='3']").each(function(){
        $(this).css("color", "#00ff00");
    });
});

答案 2 :(得分:1)

  

选择器表达式中的属性值必须遵循W3C的规则   CSS选择器;一般来说,这意味着除了有效之外的任何东西   标识符应该用引号括起来。

$("a[pageCatID='3']").each(function() {
  $(this).css("color", "#00ff00");
});

如您所见,您需要用引号覆盖3

答案 3 :(得分:0)

没有必要使用.each,selectors适用于每个对象:

$(function() {
    $("a[pageCatID=3]").css("color", "#00ff00");
});

工作示例: http://jsfiddle.net/mu54yjn4/

<强>更新

对于多个财产:

$(function() {
    $("a[pageCatID=3]").css({
        "color": "#00ff00",
        "background-color": "#000"
    });
});

工作示例:http://jsfiddle.net/zf6fjz0q/