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

代わりにこれを行います。のセレクター引数remove()は、問題のオブジェクトのフィルターです。この場合、問題のオブジェクトは id を持つ単一の要素であるため、要素myUlは含まれていません<li>

jsフィドル

$('#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' }

これにより、無効な ID 文字列で .remove() 呼び出しが失敗しました。これを理解して有効な ID 文字列を生成すると、すべて正常に機能しました。

于 2015-06-08T23:05:52.657 に答える