繁体   English   中英

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

[英]How to store li values in dynamically generated ul , in an array?

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

这是我的清单:

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

我正在尝试使用此函数检索值。 (下面提到的代码在document.ready函数是self中)

  var lisX = document.getElementById("xaxizd").getElementsByTagName("li"); 
  alert(lisX[0].id);

但这是行不通的。 还有其他方法可以存储列表项的值吗? 请通过发现错误或建议其他方法来帮助您。

提前致谢

小提琴

没有jQuery:

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

jQuery的:

$("#xaxiz li").each(function() {
    alert(this.id); 
});

相反,您这样做会更容易。 从表示层(列表)构建模型(例如此数组)是从良好的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);
    });
}

但是对于您眼前的问题,由于这些<li/>标记中没有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”标签;-)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM