使用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>
答
尝试用包装的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)');
});
改为将其绑定到身体。
感谢您的快速回答。我这样做,我现在我得到了'未捕获的SyntaxError:意外的输入结束' – Danconia
谢谢,得到它的工作,问题是'$'是冲突的,所以我不得不做'var $ j = jQuery.noConflict( );'。谢谢,它现在可行! – Danconia
@LuisP好的,很高兴我能帮助你 – mgraph