Javascript 如何将li值存储在数组中动态生成的ul中?

Javascript 如何将li值存储在数组中动态生成的ul中?,javascript,jquery,html,Javascript,Jquery,Html,我有一个无序列表,将动态生成。我需要将项目存储在数组中的列表中 这是我的清单: <div id="xaxizd"> <ul id="xaxiz" style="list-style: none;" > <li></li> </ul> </div> 但它不起作用。是否有其他方法存储列表项值? 请通过查找错误或建议其他方法来帮助我们 提前感谢换个方式做会更容易。从表示层(列表)构建模型(如此数组)与良好的UI设计

我有一个无序列表,将动态生成。我需要将项目存储在数组中的列表中

这是我的清单:

 <div id="xaxizd">
 <ul id="xaxiz"   style="list-style: none;" >
 <li></li>
 </ul>
 </div>
但它不起作用。是否有其他方法存储列表项值? 请通过查找错误或建议其他方法来帮助我们


提前感谢

换个方式做会更容易。从表示层(列表)构建模型(如此数组)与良好的UI设计背道而驰。如果你从另一个角度开始,你会发现它更容易。例如:

function refreshUL(sources) {
    var ul = jQuery('#myUL');
    jQuery.each(sources, function(i, source) {
         jQuery('<li/>').attr({ key: source.value})
              .text(source.text).appendTo(ul);
    });
}
函数刷新(源代码){
var ul=jQuery('#myUL');
每个(源,函数(i,源){
jQuery('
  • ').attr({key:source.value}) .text(source.text).appendTo(ul); }); }

  • 但是对于您当前的问题,您的代码将无法工作,因为您在那些
  • 标记中没有
    id
    属性。

    您的
    li
    没有id设置,因此它返回一个空字符串,请将您的HTML更改为:

    <div id="xaxizd">
    <ul id="xaxiz" style="list-style: none;" >
       <li id="test"></li>
    </ul>
    </div>
    
    
    

    然后再试一次。

    我只是在jQuery文档中查找了它。可以循环使用所有li元素:

    $( "li" ).each(function( index ) {
    console.log( index + ": " + $( this ).attr( "id" );
    });
    
    当然,您还应该在html代码中添加一个“id”标记;-)

    没有jQuery:

    var arr = document.getElementById("xaxiz").getElementsByTagName("li");
    for (i=0;i<arr.length;i++) {
        alert(arr[i].id);
    }
    

    为什么要使用
    jquery
    标记??我的列表项将通过从数据库获取值来动态上载。我不知道物品的数量。在这种情况下,通过提供id来引用li项是不可行的。您已经成功地检索了要查找的数组,唯一的问题是您正在尝试访问尚未设置的id字段。数组
    lisX[]
    可以根据需要进行操作。Ofc,当您从数据库打印项目时,如果需要,您可以利用这个机会为列表项目分配ID。
    var arr = document.getElementById("xaxiz").getElementsByTagName("li");
    for (i=0;i<arr.length;i++) {
        alert(arr[i].id);
    }
    
    $("#xaxiz li").each(function() {
        alert(this.id); 
    });