我正在尝试简单地移除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');
}
答案 0 :(得分:9)
相反,remove()
的选择器参数是相关对象的过滤器。
在这种情况下,相关对象只是标识为myUl
的单个元素,因此不包含任何<li>
元素。
$('#myul').find('li').remove();
或
$('#myul li').remove();
答案 1 :(得分:3)
这很好:
$('#myul').empty();
阅读更多精彩内容:http://api.jquery.com/empty/
此外:
$('#myul').find('li').remove();
$('#myul li').remove();
$('#myul').contents().remove();
$('#myul').html('');
答案 2 :(得分:0)
答案 3 :(得分:0)
在我的情况下,我有从内容对象生成的ID值,值为'。'在他们中......例如:
{ id : 'abc1.ec' }
这使我的.remove()调用在无效的id字符串上失败。一旦我弄明白了并生成了有效的ID字符串,一切正常。