这是一个简单的问题,但是,在我发现的任何问题中,我都没有找到明确的答案。我为我的具体问题修改了 JSFiddle 。
我得到了这个很小的代码:
<ul>
<li id='one'>Element 1</li>
<li id='two'>Element 2</li>
<li id='three'>Element 3</li>
<li id='four'>Element 4</li>
<li id='five'>Element 5</li>
</ul>
此脚本应返回 ul
元素,但第一个li
除外:
$(function(){
$("ul").not($('#one'))
});
相反,它会删除每一个李。我做错了什么?
编辑:换句话说,我想选择一个选择器,而不删除实际元素(=变量内部)
<ul>
<li id='two'>Element 2</li>
<li id='three'>Element 3</li>
<li id='four'>Element 4</li>
<li id='five'>Element 5</li>
</ul>
FIDDLE: http://jsfiddle.net/LVUMs/13/
答案 0 :(得分:3)
使用
$("ul li").not($('#one')).remove();
OR
$("ul li:not(#one)").remove();
你需要
var ulexceptOneLi = $("ul li:not(#one)");
或
var ulexceptOneLi = $("ul li").not($('#one'));
答案 1 :(得分:0)
答案 2 :(得分:0)
假设您打算让ul
保持正常:
$("ul li#one").remove();
这里是fiddle ...
如果您想要返回包含已移除元素的ul
元素,请尝试以下操作:
function do_crazy_thing(){
var removed = $("ul li#one").remove();
return $('<ul></ul>').append(removed);
}
do_crazy_thing();
此处another fiddle ...
Here's然后您将如何将新的ul
元素附加到正文...
答案 3 :(得分:0)
<强> Demo Fiddle 强>
根据您的问题,您的预期输出是:
<ul>
<li id='two'>Element 2</li>
<li id='three'>Element 3</li>
<li id='four'>Element 4</li>
<li id='five'>Element 5</li>
</ul>
查看演示。
$(function(){
var removed = $("ul li:not(#one)");
});
OR
var op = $("ul :not(#one)");
答案 4 :(得分:0)
请尝试以下JS代码
$(function(){
var test= $("ul li").remove("#one");
});