我正在为Facebook游戏制作排行榜,但我很难在某个div中显示登录玩家的得分。
我的排行榜工作正常,它成功地显示了每个玩家的“排名”,“名称”和“得分”(这些元素中的每一个都包含在他们自己的标签中)。
我遇到的问题是: 除了在排行榜上登录玩家的得分之外,我还想在一个单独的div中自己展示它。
这就是我目前正在尝试这样做的方式:
当生成排行榜时,我为每个玩家的“排名”标签指定一个唯一的ID。此ID包含每个用户的Facebook ID,如下所示:"ra_" + UsersFacebookId + "_nk"
。因此,其中一个ID的示例是:"ra_123456789_nk"
。
然后我尝试通过将他们的Facebook id存储为变量(var userid)来定位登录播放器的“Rank”标签的内容,然后尝试使用该变量来引用他们各自的Rank标签的内容像这样:
var loggedInPlayersRank = document.getElementById("ra_"+userid+"_nk").innerHTML;
console.log(userid);
是正确的,它会返回用户的Facebook ID。
console.log("ra_"+userid+"_nk");
也是正确的(它与Rank标签的id相匹配,这是我在排行榜中生成的,我正在尝试定位)。
我要填写的div的ID为"playerRankCopy"
。这是我目前的尝试:
var targetId = "ra_"+userid+"_nk";
document.getElementById("playerRankCopy").innerHTML = document.getElementById(targetId).innerHTML;
我在排行榜完成生成后立即运行此代码,但这对我不起作用。
这是我试图将等级复制到的div的HTML:
<div id="playerRankCopy" class="friendranknumber">-</div>
这是排名标签的HTML,它在生成排行榜时动态创建:
<label id="ra_827366437284_nk">1st</label>
任何人都可以帮我解决为什么这段代码没有用排行榜中Rank Rank的内容填入div?
提前谢谢!