0

我正在尝试在单击链接时更改链接的背景图像。我不断收到您不能在 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>

谢谢

4

3 回答 3

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>
于 2012-06-29T22:25:18.657 回答
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)');
});

这会将其绑定到身体。

于 2012-06-29T22:26:57.777 回答
0

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

于 2012-06-29T22:25:36.987 回答