jquery'on()'不起作用

时间:2016-05-17 12:42:02

标签: javascript jquery html jquery-1.9

我写了一个博客管理系统。我想动态更新博客列表,而我发现旧功能添加列表后,新的乐趣无法删除旧列表。他们只是在旧列表上添加了一个新列表,然后列表的某些部分变得重复。我在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

1 个答案:

答案 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)

而不是

  

$(本)