我已经被这个问题困扰好几天了,但无法解决。

我已经用 jQuery 完成了,没有任何问题,但我需要纯 JS。

这就是我的列表的生成方式。

function get_friends(items){ 
 
 
if(items != undefined){ 
    if (items.length != 0){ 
        var html_friends_list = ""; 
 
        for(var count = 0; count < items.length; count++){ 
            if(items[count].subscription == "both"){ 
                var display_name = Strophe.getNodeFromJid(items[count].jid); 
 
                html_friends_list = html_friends_list + "<li style='font-size:19px' id='open_chat-" + items[count].jid + "'>" + "<a href='chat-js/index.html'>" + display_name + "<span class='block-list-label' id='" + items[count].jid  + "_unread_messages" + "'>0</span><span class='block-list-label' id='" + items[count].jid  + "_change_status" + "'></span></a></li>"; 
 
             } 
        } 
 
        document.getElementById("friends-list").innerHTML = html_friends_list; 

正如前面所说,我想保存文本的值和单击的任何 li 元素的 id。

问候

请您参考如下方法:

您尚未指定这是针对特定列表还是仅针对您页面上的任何li。下面将记录页面上任何li的id和innerHTML组件。也许您可能需要针对您的特定用例更新 querySelector

var list = document.querySelectorAll('li'); 
 
Array.prototype.slice.call(list).forEach(function(listItem){ 
  listItem.addEventListener('click', function(e){ 
    console.log(this.id); 
    console.log(this.innerHTML); 
  }); 
}); 

这是一个JSFiddle我认为这表明了您想要实现的目标。


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!