jQuery $.load 未执行

jQuery $.load Not Executing

我目前在我的 Django 网站上使用 jQuery 在用户单击按钮后重新加载 div。

$(document).ready(function(){
    var post_list = Array.from(document.getElementsByClassName("post_container"))
    for(var post in post_list){
        post_list[post].id = 'post' + post;
    }
    var $arrows = $(".arrow");
    $arrows.each(function(index){
        var data = $(this).data();
        var element = $(this);
        element.on('click', function(event){
            if(user_auth){
                var currentParentElement = element.parent().parent().parent().get(0);
                var id = $(currentParentElement).attr('id');
                $(id).load(document.URL + ' ' + id);
            }
        })
    })
});

从控制台我可以看到 currentParentElementid 指向正确的 div 以重新加载,但 $(id).load() 似乎没有做任何事情。

在下面链接的图像中,单击箭头按钮应该会使绿色或红色数字发生变化。单击箭头时数字不会改变,但当我重新加载整个页面时它会改变。
https://i.stack.imgur.com/T26wn.png

您的 ID 选择器缺少 # 符号。例如,假设这个目标元素的 id"myID":

var id = $(currentParentElement).attr('id');

那么您使用的 jQuery 选择器是:

$('myID')

正在寻找 <myID> 元素。没有,所以找不到匹配项,所以没有什么可以调用 .load()

您可以将符号添加到您的选择器中:

$('#' + id).load(document.URL + ' #' + id);

(注意:出于同样的原因,在传递给 load() 的选择器中也进行了相同的更正。)