我写了一个博客管理系统。我想动态更新博客列表,而我发现旧功能添加列表后,新的乐趣无法删除旧列表。他们只是在旧列表上添加了一个新列表,然后列表的某些部分变得重复。我在jQuery中使用on()但它找不到生成的div。 这是html部分:
<div class="col-xs-2 admin-content" id="blogtable">
<h3>blog list</h3>
<div class="col-xs-12 admin-list">
<h4><a id="addblog" href="#"><span class="glyphicon glyphicon-pencil"> add blog</a></h4>
</div>
</div>
这是js部分:
$(document).ready(function () {
// body...
var blogstate = false;
var newblog = true;
$('#blogtable').on('click',function () {
console.log('updating')
console.log($(this).children('.blog-list'))
$.get('http://127.0.0.1:5000/getbloglist',function (data,status) {
$.each(data, function(i) {// init the new list
var stringdiv = '<div class="col-xs-12 blog-list"><a href="#" class="blog-unit" id="'+data[i]['id']+'"><h5>'+data[i]['title']+'</h5></a><h6><em>'+data[i]['date']+'</em></h6></div>'
$('#bloglist').prepend(stringdiv);
});
itemclick();
//sendblog();
});
});
$('#blogb').click(function () {
console.log('bbbb')
getbloglist()
return false;
});
sendblog();
whenaddblog();
});
这是getbloglist():
function getbloglist() {
$(".blog-list").remove();//remove the old list
//get the list of blog and show it on the list part
$.get('http://127.0.0.1:5000/getbloglist',function (data,status) {
$.each(data, function(i) {// init the new list
var stringdiv = '<div class="col-xs-12 blog-list"><a href="#" class="blog-unit" id="'+data[i]['id']+'"><h5>'+data[i]['title']+'</h5></a><h6><em>'+data[i]['date']+'</em></h6></div>'
$('#bloglist').prepend(stringdiv);
});
itemclick();
//sendblog();
});
};
实际上,我在控制台中得到了n [] (0)
。我想为什么会发生这种情况。
我使用的是$('#blog').delegate('#blogtable','click',function () {
而不是on()
,但它不适用于ll
答案 0 :(得分:0)
T.Cheng,首先,尝试纠正div标签的类声明
div&#34; col-xs-12博客列表&#34;
到
div class =&#34; col-xs-12 blog-list&#34;
,第二,使用主标签的id来获取chindren标签
$(&#34; #blogtable&#34;)。children(&#39; .blog-list&#39;)或$(&#34;#blogtable&#34;)。find(&#39; .blog列表&#39)
而不是
$(本)