如何删除list-divider li一旦删除它的所有子li

时间:2012-10-09 12:49:24

标签: jquery listview jquery-mobile

我正在使用带有data-split-icon“delete”的jquery mobile listview。在该列表视图中,我使用数据分隔符将li与不同的组分开。我想删除所有li从该数据分割器下的listview中删除后的特定数据分隔符。举例:检查以下listview代码段。

<ul data-role="listview" data-autodividers="true" data-theme="c" data-divider-theme="d" data-split-icon="delete" data-split-theme="c">
    <li id="group1" data-role="list-divider">Group 1</li>
    <li id="item1">
        <a href="animals.html" data-rel="dialog" class="ui-link-inherit">Cat</a>
        <a id="del_4" data-theme="c"></a>
    </li>
    <li id="item2">
        <a href="animals.html" data-rel="dialog" class="ui-link-inherit">Dog</a>
        <a id="del_5"></a>
    </li>

    <li id="group2" data-role="list-divider">Group 2</li>
    <li id="item1">
        <a href="animals.html" data-rel="dialog" class="ui-link-inherit">Fish</a>
        <a id="del_4" data-theme="c"></a>
    </li>
</ul>

在上面的代码中,如果我删除li“Fish”,我想自动删除“Group 2”list-divider li,因为此组下没有“li”。我试图单独删除“li”,但是一旦所有孩子“li”被删除,我就无法删除list-divider“li”。

1 个答案:

答案 0 :(得分:1)

首先获取群组ID。

   var p_id=$(this).parent().parent().attr("id");

然后检查其孩子

  var childDivs = $("#"p_id li);

如果它不包含子项,请删除。

   if(childDivs.length<1)
         $("#"p_id).remove();