JQuery $.load не выполняется

В настоящее время я использую jQuery на своем сайте Django для перезагрузки 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);
            }
        })
    })
});

Из консоли видно, что currentParentElement и id указывают на правильный div для перезагрузки, но $(id).load(), похоже, ничего не делает.

На изображении, ссылка на которое приведена ниже, при нажатии на кнопки со стрелками должно меняться зеленое или красное число. Число не меняется при нажатии на стрелку, но оно меняется, когда я перезагружаю всю страницу.
https://i.stack.imgur.com/T26wn.png

В вашем идентификационном селекторе отсутствует символ #. Например, предположим, что id этого целевого элемента - "myID":

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

Тогда селектор jQuery, который вы используете, следующий:

$('myID')

Ищет элемент <myID>. Его нет, поэтому совпадений не найдено, и вызывать .load() не на чем.

Вы можете добавить символ в ваш селектор:

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

(Примечание: Такая же корректировка была сделана и в селекторе, передаваемом в load() по той же причине.)

Вернуться на верх