使用jQuery改变背景图片

问题描述:

我想改变链接的背景图片,当它被点击。我一直收到你无法在null上调用'click'的错误。使用jQuery改变背景图片

JQuery的(在头)

<script type="text/javascript"> 
    $('a.upvote-arrow').click(function(){ 
     $('#tempid1').css('background-image','url(../images/icons/up-arrow2.png)'); 
    }); 
</script> 

HTML

<div class="top-comment-vote"> 
    <a href="#" class="upvote-arrow" title="Up vote" id="tempid1"></a> 
</div> 

感谢

尝试增加$(document).ready

<script type="text/javascript"> 
$(document).ready(function(){ 
    $('a.upvote-arrow').click(function(){ 
     $(this).css('background-image','url(../images/icons/up-arrow2.png)'); 
    }); 
}) 
</script> 
+0

感谢您的快速回答。我这样做,我现在我得到了'未捕获的SyntaxError:意外的输入结束' – Danconia

+0

谢谢,得到它的工作,问题是'$'是冲突的,所以我不得不做'var $ j = jQuery.noConflict( );'。谢谢,它现在可行! – Danconia

+0

@LuisP好的,很高兴我能帮助你 – mgraph

尝试用包装的document.ready你的脚本;我怀疑你的脚本可能在整个页面加载之前运行。

你确定这个脚本是在DOM之后加载的吗?

试着包装你在onload closure中写的东西。

$(function() { 
$('a.upvote-arrow').click(function(){ 
    $('#tempid1').css('background-image','url(../images/icons/up-arrow2.png)'); 
}); 
}); 

您可以做的另一件事是利用委派进行事件注册。

$('body').on("click", ".a.upvote-arrow", function(){ 
$('#tempid1').css('background-image','url(../images/icons/up-arrow2.png)'); 
}); 

改为将其绑定到身体。