如何通过它删除我的ul中的所有li?

时间:2011-04-27 09:08:59

标签: javascript jquery list

我有一个ul列表。

我想用它来删除我的ul中的所有li?

7 个答案:

答案 0 :(得分:15)

所有jQuery的东西。 : - )

普通的旧版javascript:

  var ul = document.getElementById('<ul id>');
  if (ul) {
    while (ul.firstChild) {
      ul.removeChild(ul.firstChild));
    }
  }

你也可以设置:

  ul.innerHTML = '';

甚至:

  ul.parentNode.replaceChild(ul.cloneNode(false), ul);

但我更喜欢第一种方法。

答案 1 :(得分:12)

如果您要删除具有特定ID的li内的所有ul元素:

$('#id-of-ul > li').remove();

由于ul只有li个孩子,因此您也可以使用$('#id-of-ul').empty()删除其所有子女。

答案 2 :(得分:4)

您也可以使用empty()

$('#listId').empty();

答案 3 :(得分:3)

*使用jQuery

您是不是要删除所有具有相同ID的li? (这是我解释问题的方式)

$('#id').remove()

(请记住,在多个DOM元素上使用相同的ID不被视为良好的编程,应始终避免!始终使用良好的IDE来清除代码)

您也可以使用该类删除(这是按类名删除分组元素的更好方法)

$('.className').remove()

这两个函数将删除ID / Class的所有元素 限制从LI中删除id / class'es

$('li #id').remove();
$('li .className').remove();

您还可以在JavaScript中创建一个函数。这将删除任何点击了itemDelete类的DOM。

$('.itemDelete').live("click", function() {
        var id = $(this).parent().get(0).id;
        $("#" + id).remove();
    });

制作循环并调用函数?

function deleteLI(id) {
            $("#" + id).remove();
        };

答案 4 :(得分:0)

快速肮脏,纯粹的js方式是:

var ul = document.getElementById("ul_id");
ul.innerHTML = "";

这当然假设没有其他非li儿童,你不想破坏。

答案 5 :(得分:0)

您必须拨打remove()方法。

// Removes a single element with the specified id
$('#id-of-the-element').remove();

查看文档以获取更多信息。

答案 6 :(得分:-1)

以下应该有效:
$('#uiId').remove('li');

相关问题