为什么JQuery .empty()不起作用?

时间:2015-08-22 20:42:09

标签: javascript jquery

! function(a) {
 $("#videos","#uploads","#tijdlijn","#profel").empty(); 
a.fn.fbAlbum = function(l) {
      var t = this,
        e = {
            albumID: 0x240fa56a571e02,
            limit: 30,
            ulClass: "album",
            callback: "",
            title: !0
        };
    l && a.extend(e, l);
    var i = "https://graph.facebook.com/" + e.albumID + "/photos?limit=" + e.limit + "&access_token=862683673820828|15Gx44NW43LHI92o__bRPA6lz44";
    return a.getJSON(i, function(l) {
        var i = [];
        for (var o in l)
            for (var c in l[o])
                if (val2 = l[o][c], "undefined" != typeof val2.source) {
                    var r = "";
                    e.title && val2.name && (r = val2.name), i.push('<li class="item_box_pic"><a class="imageLink" rel="group" data-featherlight="' + val2.source + '" "href="' + val2.source + '"><img src="' + val2.picture + '" alt="Facebook foto thumbnail, ' + r + '" title="' + r + '"/></a></li>');
                }
        a("<ul />", {
            "class": e.ulClass,
            html: i.join("")
        }).appendTo(t), e.callback && e.callback();
    }), this;
};
}(jQuery);

此脚本在点击时加载,因此在点击按钮后从facebook加载一组图像。 (例如:http://sophiadeboer.nl/#media

问题是,当再次点击时,内容会附加,但是由于

,它怎么会消失?
 $("#videos","#uploads","#tijdlijn","#profel").empty(); 

有人可以解释我的错误吗?

2 个答案:

答案 0 :(得分:2)

您对empty()的呼叫在功能之外,且选择器的格式不正确。选择器应该是一个字符串...不是很多的元素

把它放在里面,每次调用函数时都会调用它

a.fn.fbAlbum = function(l) {
   $("#videos, #uploads, #tijdlijn, #profel").empty(); 

   .....
}

答案 1 :(得分:2)

将函数置于插件函数调用

传递第一个参数中的选择集,无引号

a.fn.fbAlbum = function(l) {
    $("#videos,#uploads,#tijdlijn,#profel").empty();
    ...