我有以下设置来更改某个类中链接的颜色。由于某种原因,它无法正常工作。我确实需要保持这种结构,因为我正在做的事情。默认情况下,链接的颜色是白色的,因为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>
答案 0 :(得分:5)
如果您使用jQuery
,则永远不想使用window.onload = fn
。使用$(document).ready(fn)
或仅$(fn)
。
$(linkcolor);
我猜这个代码在window.onload
事件触发后运行,因此事件的处理程序永远不会执行。如果事件已经发生,jQuery
将通过立即触发函数来处理这种情况,确保代码被执行。
说$('.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')
这些是我的建议和我对你问题的回答!