//Display User in header
usersRef.child(uid).on('value', function(name){
var dName = (name.val().displayName);
$("#userName").replaceWith("<li id=userName><span>Logged in as " + dName + "</span></li>");
//Get the first Letter of the users name
firstLetter = dName.charAt(0);
//Display icon in header
console.log("User Image Replaced");
$("#userImage").replaceWith("<li id='userImage'>" + firstLetter + "</li>");
});
上述代码在我的网站标题中成功创建了一个用户图标。这是他们名字的第一个字母,背景是他们'用户颜色'的颜色。当他们的'用户颜色'被改变时,我想要更新标题中的图标。使用jquery从Firebase更新页面上的数据时出错
我已经得到了混合的结果,但通常它会更新第一次我改变颜色,我不得不点击它周围的页面,以便它再次执行。但并非总是如此,有时第一次不行,有时会在前三次。
我用一种引起这个问题的方式编码它,或者它是一个Firebase的东西?
要替换的元素'每次有更新#userName'。因此,下次调用该函数时不会存在。尝试像$('#username')。html(...)而不是? – Kato 2014-11-25 17:19:24
我一直在使用replaceWith,所以它会用更新后的html代替html,而不是在更新时重复它。 – 2014-11-26 05:56:48