我在访问网站所附的元素时遇到问题。这是我的代码:
socket.on('userupdate', function (data) {
var userslist = [];
$('#users-list').html('');
data.forEach(function (item) {
userslist.push("<a><li id='chat-private' username=" + item.username + " userid=" + item.userid + ">" + item.username + "</li></a>");
});
$('#users-list').append(userslist);
});
$("#chat-private").click(function () {
alert("We have Access!");
});
但是什么也没发生。谢谢。
首先,您要给chat-private
元素一个类,否则将有重复的id
属性,这是无效的。
其次,您需要使用委托事件处理程序,因为页面加载时DOM中不存在这些元素。试试这个:
socket.on('userupdate', function (data) {
var userslist = [];
data.forEach(function (item) {
userslist.push("<li class='chat-private' username=" + item.username + " userid=" + item.userid + "><a>" + item.username + "</a></li>");
});
$('#users-list').html('').append(userslist);
});
$('#users-list').on('click', '.chat-private', function () {
alert("We have Access!");
});
另请注意,该a
元素应位于中li
,否则HTML将无效,并且可能会出现渲染错误。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句