Javascript Jquery append不在函数外部工作
嗨,我只想将组ID添加到网页的开头,我正在尝试将其附加到div“test”中,然后添加一个空格-允许它从yammer API中提取数据,然后使用包含组ID的分隔符在组中循环。有人能告诉我为什么它会打印到回调中的网页,而不是在回调之外吗?谢谢:)Javascript Jquery append不在函数外部工作,javascript,jquery,html,append,Javascript,Jquery,Html,Append,嗨,我只想将组ID添加到网页的开头,我正在尝试将其附加到div“test”中,然后添加一个空格-允许它从yammer API中提取数据,然后使用包含组ID的分隔符在组中循环。有人能告诉我为什么它会打印到回调中的网页,而不是在回调之外吗?谢谢:) var-page=1; var-groupIDs=[427165658962121188700]; var n=0; while(n
var-page=1;
var-groupIDs=[427165658962121188700];
var n=0;
while(n ”);
getYammerJSON(第页);
函数getData(returnData){
$.each(returnData.users,函数(键,值){
如果(value.email!=未定义){
$('#test')。追加(value.email+“
”);
}
});
}
函数getYammerJSON(第页){
$.get(”https://www.yammer.com/api/v1/users/in_group/“+groupIDs[n]+”.json?page=“+page,function(returnData){
getData(returnData);
如果(!returnData.more_available===true){
返回false;
}
否则{
page++;
getYammerJSON(第页);
}
});
}
n++;
}
Yammer组ID中的用户电子邮件
因为您的脚本无法找到$(“#测试”)
div。因为您没有为文档设置任何.ready()
因此,您需要将代码包装在doc ready块中:
$(function(){
var page = 1;
var groupIDs = [4271656,5896212,1188700];
var n=0;
while (n< groupIDs.length){
$('#test').append("Group ID:" + "WHY WON'T YOU APPEND" + "<br/>");
getYammerJSON(page);
function getData(returnData){
$.each(returnData.users, function(key, value){
if(value.email != undefined){
$('#test').append(value.email + "<br/>");
}
});
}
function getYammerJSON(page){
$.get("https://www.yammer.com/api/v1/users/in_group/" + groupIDs[n] + ".json?page=" + page, function(returnData) {
getData(returnData);
if(!returnData.more_available === true){
return false;
}
else {
page++;
getYammerJSON(page);
}
});
}
n++;
}
});
在页面底部编写脚本或将test div放在顶部。
在标记呈现之前,您正在运行js代码。。。它找不到div,因此不会追加任何内容
不应该是这样的
<script>
$("#test").append("ghgh");
</script>
<div id = "test"> jj </div>
<div id = "test"> jj </div>
<script>
$("#test").append("ghgh");
</script>
解决方案:
一,
$(函数(){
var-page=1;
var-groupIDs=[427165658962121188700];
var n=0;
while(n ”);
getYammerJSON(第页);
函数getData(returnData){
$.each(returnData.users,函数(键,值){
如果(value.email!=未定义){
$('#test')。追加(value.email+“
”);
}
});
}
函数getYammerJSON(第页){
$.get(”https://www.yammer.com/api/v1/users/in_group/“+groupIDs[n]+”.json?page=“+page,function(returnData){
getData(returnData);
如果(!returnData.more_available===true){
返回false;
}
否则{
page++;
getYammerJSON(第页);
}
});
}
n++;
}
});
Yammer组ID中的用户电子邮件
因为脚本无法找到$(“#test”)
div。为什么不呢?你知道我如何修复它吗?谢谢Jai,但是现在唯一的问题是它在执行脚本之前触发了append,所以我的输出是:Yammer Group IDsGroup ID中的用户电子邮件:为什么不追加Group ID:为什么不追加Group ID:为什么不追加,然后是电子邮件,我需要它在每个迭代之间分离n@Alibean您可以执行上述任一建议!他们都工作!好的,但是如果您注意到脚本$('#test').append(value.email+“
”);在它运行时发生,因此如果在整个脚本运行后追加,它只会将它们全部放在末尾,不管您希望追加到测试div的数据是什么,都将其保存在变量或对象中(如果是),然后将数据放在测试div中。这非常简单。
<script>
$("#test").append("ghgh");
</script>
<div id = "test"> jj </div>
<div id = "test"> jj </div>
<script>
$("#test").append("ghgh");
</script>
<script>
for( condtion counter etc)
{
str_var+= "your text";
}
</script>
$("#test").text(str_var); or $("#test").val(str_var); or append