一定数量后去除DIV儿童
我有这个HTML
如何使用jQuery从此HTML中删除第二个第三和第四个Div …
尝试:
$('.control').find("div").slice(1, 4).remove();
$('.control').find("div").slice(1, 4).remove();
您正在寻找:nth-child
: http : //api.jquery.com/nth-child-selector/
它的工作原理如下:
$('.control div:nth-child(2), .control div:nth-child(3), .control div:nth-child(4)').remove();
请注意:nth-child
使用基于一的索引,因此第一个元素的索引为1。
更新:在回答这个问题时,OP发表了评论
如果我不知道在输入字段之后会出现多少div,那么有任何方法可以将所有div或SLIV的第二个子节点之后出现的任何div或SLICE …
答案是肯定的,为此您需要:gt:
selector: http : //api.jquery.com/gt-selector/
$('.control div:gt(1)').remove()
与:nth-child
相反, :gt
使用从零开始的索引,因此第一个元素的索引为0。
$('.controll>div:gt(1)').remove();
:gt
选择器将让你选择哪个索引大于1,那么theese是3.元素和更多
这是一个例子: http : //jsfiddle.net/Am7Vw/1/
如果你的意思是那些特定的:
$(".ui-resizable-handle, .delete").remove();
如果你的意思是位置2-4的div不管标记,那么nth-child()
答案之一就可以了。
你可以这样做
$('.control div:nth-child(2)').remove(); $('.control div:nth-child(3)').remove(); $('.control div:nth-child(4)').remove();
或者你也可以这样做
$('.control div:nth-child(1)').siblings().remove();