我正在创建一个 facebook 风格的活动邀请脚本。我已经让朋友们在我的模态等中显示,我遇到的问题是,当您选择一个类别时,类别按钮调用的脚本应该隐藏 group_friends 容器中的所有 div,但当前 id 的 div 除外被查询。这是我正在处理的功能:
function get_group_friends(element){
var group_id=($(element).attr("id"));
console.log((($("div[id^="+group_id+"]")).children()).length);
if(((($(".div[id^="+group_id+"]").children()).length)) == 0)
{
$("#container_group_friends").children().not($("div[id^="+group_id+"]")).hide();
$("#container_all_friends").hide();
var query = "SELECT uid, name, pic_square FROM user WHERE uid IN(SELECT uid FROM group_member WHERE gid = "+($(element).attr("id"))+" AND uid IN(SELECT uid2 FROM friend WHERE uid1=me()))";
FB.api({access_token: accessToken, method:'fql.query', query: query}, function(response_group_friend)
{
var i=0;
var result_group_friend="";
for(i=0; i<response_group_friend.length; i++)
{
result_group_friend+="<div class='fbfriends' id='"+response_group_friend[i].uid+"' ><div class='user float_left'><img src='"+response_group_friend[i].pic_square+"'/><div class='tick'></div></div><div class='friend_name float_left'>"+response_group_friend[i].name+"</div></div>";
} $("div[id^="+group_id+"]").append(result_group_friend);
// $("#container_group_friends").append($("div[id^="+group_id+"]"));
});
}
else
{
($("#container_group_friends").children().not($("div[id^="+group_id+"]"))).hide();
$("#container_all_friends").hide();
}
}
问题是,当我单击另一个类别时,容器中的所有内容都是不可见的,即使是正在查询具有特定 id 的 div。我可能没有按照我应该的逻辑来看待这个问题。任何帮助都会很棒。谢谢。