无法删除列表元素

时间:2012-10-09 20:21:20

标签: jquery html

我有这个由JavaScript函数生成的HTML代码,在这个简单的例子中我只有一个级别的ul和2 li元素

<ul id="criteria">
    <li>Goal
    <img id="add_criterion" class="add_criterion" src="../images/icons/add-icon.png">
        <ul id="1" class="criteria">
            <li id="1">criteria 1</li>
            <li id="2">criteria 2</li>
        </ul>
    </li>
 </ul>

和我的JavaScript函数删除对应于id和level(ul的id)的li

if($("ul[id="+level+"][class=criteria] li").length ==1){
    $("ul[id="+level+"][class=criteria]").remove();
}else{
    $("ul[id="+level+"][class=criteria] li#"+i).remove();
}

我的问题是,当我从第一个li开始时我无法删除它,但当我从第二个开始时,我将其删除并删除第一个没有问题

1 个答案:

答案 0 :(得分:2)

作为快速解决方法,如果没有修复唯一身份证问题,您应该只需用$("ul[id="+level+"][class=criteria] li[id="+i+"]").remove();替换else删除

显然,从长远来看,更好的解决方案是不使用重复的ID。