Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery代码赢得';t在ajax调用中修改html标记的属性_Javascript_Jquery_Html_Django - Fatal编程技术网

Javascript Jquery代码赢得';t在ajax调用中修改html标记的属性

Javascript Jquery代码赢得';t在ajax调用中修改html标记的属性,javascript,jquery,html,django,Javascript,Jquery,Html,Django,有人能告诉我为什么下一个jquery代码不起作用吗。我已经在$(document.ready块之外尝试过了,但也不起作用 注意:奇怪的“{}}”和“{%%}”通常是django Jquery $(document).ready(function () { $(".post_thumb_up").hover(function () { $(".post_thumb_up").attr("src", "/post_it/static/media/thumb_up_hover

有人能告诉我为什么下一个jquery代码不起作用吗。我已经在
$(document.ready
块之外尝试过了,但也不起作用

注意:奇怪的“{}}”和“{%%}”通常是django

Jquery

$(document).ready(function () {

    $(".post_thumb_up").hover(function () {
        $(".post_thumb_up").attr("src", "/post_it/static/media/thumb_up_hover.png");
    });

    $(".post_thumb_up").click(function () {
        $(".post_thumb_up").attr("src", "/post_it/static/media/thumb_up.png");
    });

});
html:


{{post.title}}
门:{{post.author}}
数据:{{post.date}发布日期:{ldf,Y,H:i}

谢谢

尝试使用setTimeout
$(文档).ready(函数(){
setTimeout(函数(){
$(“.post\u thumb\u up”)。悬停(函数(){
//可能需要将“http://”或“fullpath”设置为src值
$(this.attr(“src”,“post\u it/static/media/thumb\u up\u hover.png”);
});
$(“.post_thumb_up”)。单击(函数(){
$(this.attr(“src”,“post_it/static/media/thumb_up.png”);
});
},200)
});您的div(.post)模板是SSR标记的一部分吗?如果它是动态生成的,那么您需要在渲染后绑定事件

我怀疑可能是这样。

使用jQuery event,将一个或多个事件的事件处理函数附加到所选元素

 $(document).ready(function () {

    $(document).on(".post_thumb_up", 'hover', function () {
        $(this).attr("src", "/post_it/static/media/thumb_up_hover.png");
    });

    $(document).on(".post_thumb_up", 'click', function () {
        $(this).attr("src", "/post_it/static/media/thumb_up.png");
    });

});

“不工作”是如何定义的?->为什么OP应该使用
.on()
而不是
.click()
/
.hover()
(它们自己只调用
.on()
)?@Andreas正如Jake所说,这些内容来自ajax。所以单击并悬停事件需要绑定。在他对另一个答案的评论中,time.on()必须使用“…正如杰克所说”-,他在你的答案数小时后添加了这个评论。请编辑您的答案,这样它不仅会说“使用X”,而是“因为X您必须使用Y”,并对X和YYes进行了真正的解释,这个模板是服务器端呈现的,我用Ajax调用来调用这个模板,但您所说的“那么您需要在呈现后绑定事件”是什么意思呢。由于该模板是通过Ajax调用实现的,所以在Ajax成功后,您可能会将其注入Dom。所以,一旦它被注入Dom,您就可以在新注入的Dom节点上绑定事件。或者第二种解决方案:您也可以使用文档作为根节点来进行jquery事件委派。这将有助于将事件绑定到我们通过Ajax获得的或在Ajax之后创建的动态节点。当我在家时,@Jake“…通过Ajax调用”-这些信息必须是你问题的一部分。
 $(document).ready(function () {

    $(document).on(".post_thumb_up", 'hover', function () {
        $(this).attr("src", "/post_it/static/media/thumb_up_hover.png");
    });

    $(document).on(".post_thumb_up", 'click', function () {
        $(this).attr("src", "/post_it/static/media/thumb_up.png");
    });

});