使用jQuery更改背景图像

时间:2012-06-29 22:22:15

标签: javascript jquery

我试图在点击链接时更改链接的背景图像。我一直收到你不能在null上调用'click'的错误。

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>

由于

3 个答案:

答案 0 :(得分:1)

尝试添加$(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>

答案 1 :(得分:1)

你确定在html进入DOM之后加载了这个脚本吗?

尝试将您在onload闭包中编写的内容包装起来。

$(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)');
});

这会将它与身体联系起来。

答案 2 :(得分:0)

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