如何动态地为 PhoneGap 中的元素提供 ID

how to give id dynamically to an element in phonegap?

本文关键字:元素 ID PhoneGap 何动态 动态      更新时间:2023-09-26

嗨,我正在Phonegap中做一个应用程序,在该应用程序中,我需要在列表视图中显示包含个人资料图片,姓名,号码和在线状态的用户列表。

for (var i = 0; i < roster_items.length; i++) {
    var jid_contact=roster_items[i].getAttribute('jid');
    var name_contact=roster_items[i].getAttribute('name');
    ///  Add all the contacts to  Array
        $('#contacts-listview').append(
                                       '<a href="#" onclick="user_contactsClicked('+ i + ');">' +
                                       '</br>'+
                                       '<div id="contact_img">'+
                                       '<img id="splash" src="images/contact_default_pic.png"  />'+
                                       '<ul id="menu">'+'<li id="contact">'+name_contact+'</li>'+
                                       '<li id="status">'+jid_contact+'</li>'+'</ul>'+
                                       '<div class="pull-right"><div><img id=i class="status_img" src="images/user_online.png"  /></div>'+
                                       '<div style="margin-bottom: 10px;"><ol id="date">'+
                                       '<li>date</li>'+
                                       '<li>time</li>'+
                                       '</ol></div></div>'+
                                       '</div>'+
                                       '</br>'+
                                       '</a>'
                    );
        }

我将调用一个函数来更改特定用户的在线状态并更改图像

changeOnlineStatus_contact : function(elementPos) {
    alert(elementPos);
    if(elementPos>=0) {
        //Get current table
        document.getElementById(i).src = "images/user_offline.png";
    }
}

为此,我想动态地为 img 元素提供 if。请建议我。

提前谢谢..

没有在映像上设置 id 的原因是因为你得到了:

"…<img id=i class=…"这意味着每个图像的 id 为"i">

如果将其更改为:

"…<img id='""+i+"'" class=…",它将使用 i 的值作为 id 属性


如果你对 UI 有更复杂的绑定,我建议查看类似 http://knockoutjs.com/的内容 - 这样你就可以更新基础模型,html 将自动更新以表示它。