在给定的元素集中没有得到min属性值

时间:2017-02-06 11:26:18

标签: javascript jquery

我'已经:

for(var k=0;k<10;k++){
    $(eleid).after('<li class="pgs_li_cls" id="stpli_'+k+'" data-pos="'+k+'"><input type="button" value="'+k+'" class="stkpgmb" id="stkpgid_'+k+'" onclick="func_is(this);"></li>');
}

function func_is(ele){
    var max = 0, min=0;
    $('.pgs_li_cls').each(function() {
        max = Math.max($(this).attr("data-pos"), max);
        min = Math.min($(this).attr("data-pos"), min);
    });
    var an_id = ele.id;
    an_id = an_id.substr(0, an_id.length-1);
    $('#stpli_'+min).remove();
    console.log(max+"   "+min);
}

正如您所看到的,我创建了包含按钮10次的li,并且单击了按钮,调用了函数func_is(),那么当点击按钮时它会检索到最低li的{​​{1}}并将其删除。

问题在于,第一次单击按钮时,它会将最小结果设为data-pos,最大结果为0,这很好,然后删除{{1}最少10

但是当我点击另一个按钮时,li值仍为0,因为即使已删除data-pos,它仍然为1(在我的浏览器中,在第一次点击后检查无法找到min data-pos 0)。

我真的很感激有人告诉我我做错了什么:)

1 个答案:

答案 0 :(得分:1)

这是因为您在func_is函数中将min值初始化为0。

尝试将其设置为更大的值

function func_is(ele){
  var max = 0, min= 1000;