jQuery从无序列表中移除所有列表项

141

我忘记了一个jQuery命令,它可以清除列表中的所有元素。我进行了一些搜索,以前也做过很多次,但是我只是简单地忘记了这个命令。

$("ul").clear()
$("ul").empty()

两个都似乎未能实现这一点... 再说一遍是哪个命令?

更新:
谢谢各位,我的选择器可能有语法错误。


你是否在考虑使用 $("ul").remove(); - Dave Kiss
2
$("ul").empty() 应该可以工作并清除子元素。 - Naor
1
@Dave Kiss: remove会删除整个ul本身。 - Naor
2
啊,也许是 $("ul").children().remove(); - Dave Kiss
9个回答

312

$("ul").empty() 可以正常使用。是否还有其他错误?

$('input').click(function() {
  $('ul').empty()
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
  <li>test</li>
  <li>test</li>
</ul>

<input type="button" value="click me" />

http://jsfiddle.net/infernalbadger/D5ss8/


原始的js(没有jQuery)解决方案:https://dev59.com/6mgv5IYBdhLWcg3wPOVn - Eido95

18

11

这应该可以正常工作:

$("ul").html('')

很奇怪,在我的Chrome浏览器(版本20.0)中可以运行。http://jsfiddle.net/Ax4xq/ 无论哪种情况,我实际上更喜欢被接受的答案。 - RoccoC5

4
如果您有多个ul并想要清空特定的ul,则可以使用id,例如:
<ul id="randomName">
   <li>1</li>
   <li>2</li>
   <li>3</li>
</ul>


<script>
  $('#randomName').empty();
</script>

$('input').click(function() {
  $('#randomName').empty()
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<ul id="randomName">
  <li>1</li>
  <li>2</li>
  <li>3</li>
</ul>

<ul>
  <li>4</li>
  <li>5</li>
</ul>
<input type="button" value="click me" />


3
   var ul = document.getElementById("yourElementId");

     while (ul.firstChild)
         ul.removeChild(ul.firstChild);

3

1

查看你的类或ID,可能像这样 $("#resi_result").html(''); 这应该可以工作:


1
欢迎来到SO!您认为您的答案有何改进之处,可以超越现有的已接受答案? - cfi

0

0

这个方法对我来说非常有效,而且代码量很少。

$(my_list).remove('li');

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接