jQuery传递CSS var

时间:2013-03-15 23:25:10

标签: jquery css

我有以下设置来更改某个类中链接的颜色。由于某种原因,它无法正常工作。我确实需要保持这种结构,因为我正在做的事情。默认情况下,链接的颜色是白色的,因为CSS正在工作。只是更改链接的jQuery无效。

var link_colour = "#CCC";

function linkcolor() {
$("[class='navLink']").css("color",link_colour);
}
window.onload = linkcolor;

<ul>
<li><a class="navLink" href="#"><img src="foo1.png" />xyz</a></li>
<li><a class="navLink" href="#"><img src="foo2.png" />abc</a></li>
</ul>

5 个答案:

答案 0 :(得分:5)

如果您使用jQuery,则永远不想使用window.onload = fn。使用$(document).ready(fn)或仅$(fn)

$(linkcolor);

我猜这个代码在window.onload事件触发后运行,因此事件的处理程序永远不会执行。如果事件已经发生,jQuery将通过立即触发函数来处理这种情况,确保代码被执行。

See it work here


$('.navLink')更好的其他答案也是正确的。但这只是你所拥有的选择器的简写,应该可以正常工作。你应该改变它,但那不是问题。

答案 1 :(得分:1)

使用:

$('.navLink')

这样可以正常选择其class属性设置为navLink

的所有元素

答案 2 :(得分:1)

以下是如何以jQuery友好的术语表达这一点:

var link_colour = '#CCC';
$(document).ready(function() {
    $('.navlink').css('color', link_colour);
});

答案 3 :(得分:0)

我会像这样使用选择器:

$(function(){
 var $color = '#CCC';
 $('.navLink').css('color',$color);
});

答案 4 :(得分:0)

那里有三点。

1)使用$(document).ready

您正在使用window.reload,在这种情况下,请使用$(document).ready。

$(document).ready(function(){
// My code
});

2)使用.class

不要使用[class =''],而是使用.class。

$('.navLink')

这些是我的建议和我对你问题的回答!