3

我试图简单地删除 中的所有嵌套li元素ul,但它不起作用。为什么这个片段不起作用?我错过了什么?

html

<ul id="myul">
</ul>
<br/>
<button onclick="add();">add</button><br/>
<button onclick="remAll();">remove all</button>

js

function add()
{
    $('#myul').append('<li>hello world</li>');
}

function remAll()
{
    $('#myul').remove('li');
}

http://jsfiddle.net/gPnxY/

4

4 回答 4

10

而是这样做,选择器参数 forremove()是相关对象的过滤器。在这种情况下,所讨论的对象只是具有 id 的单个元素myUl,因此不包含任何<li>元素。

jsFiddle

$('#myul').find('li').remove();

或者

$('#myul li').remove();
于 2012-06-29T00:25:00.890 回答
3

jsFiddle在这里

这很好:

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

阅读更多很酷的东西:http ://api.jquery.com/empty/

还:

$('#myul').find('li').remove();
$('#myul li').remove();
$('#myul').contents().remove();
$('#myul').html('');
于 2012-06-29T00:27:55.970 回答
0

或者做:

function remAll()
{
    $('#myul').html("");
}

演示:http: //jsfiddle.net/Xq4q8/1/

于 2012-06-29T00:27:53.040 回答
0

在我的情况下,我有从内容对象生成的 ID 值,并且这些值有“。” 在他们.. 例如:

{ id : 'abc1.ec' }

这使我的 .remove() 调用在无效的 id 字符串上失败。一旦我弄清楚了这一点并生成了有效的 ID 字符串,一切正常。

于 2015-06-08T23:05:52.657 回答