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);
}
})
})
});
从控制台我可以看到 currentParentElement
和 id
指向正确的 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()
的选择器中也进行了相同的更正。)
我目前在我的 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);
}
})
})
});
从控制台我可以看到 currentParentElement
和 id
指向正确的 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()
的选择器中也进行了相同的更正。)