我有一个从HTML的项目列表生成的对象数组,我在处理该数组以获取项目的索引和数组的长度时遇到一个问题,始终为零。
我想要数据ID和值(列表1,2,3 ..)。
HTML代码
<ul class="list">
<li data-id="l1">list 1</li>
<li data-id="l2">list 2</li>
<li data-id="l3">list 3</li>
<li data-id="l4">list 4</li>
</ul>
<p></p>
JS代码
var arr = new Array();
$('.list li').each(function(){
var lid = $(this).attr('data-id');
var lval = $(this).html();
arr[lid] = lval;
});
$('p').html('array length = ' + arr.length + ' & index of list 1 is ' + arr.indexOf('l1'));
我是javascript和jQuery的新手,我不知道语法是否有错误。看看这个小提琴请
尝试此代码可正常工作。
var arr ={};
$('.list li').each(function(){
arr[$(this).attr('data-id')]=$(this).html();
});
function find(ar, val){
var i=0;
$.each(ar, function (key, data) {
if(data==val)
{
return false;
}
i++;
});
return i;
};
$('p').html('array length = ' + Object.keys(arr).length + ' & index of list 1 is '+find(arr, "list 2"));
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句