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);
});