我们通过以下方式删除某个html元素的子元素JQuery:
$(PARENT_SELECTOR).children(CHILD_SELECTOR).remove()
Run Code Online (Sandbox Code Playgroud)
但是我怎样才能使其表现得像.splice()方法(例如,在树上删除DOM给定的索引和偏移量)。例如:
删除最后三个孩子。在这里我很可能会使用:
for(var x = 0; x < 3; x++) {
$(PARENT_SELECTOR).children().last().remove()
}
Run Code Online (Sandbox Code Playgroud)删除第四至第六个孩子。这里我将使用:
$(PARENT_SELECTOR).children().eq(3).remove()
$(PARENT_SELECTOR).children().eq(4).remove()
$(PARENT_SELECTOR).children().eq(5).remove()
Run Code Online (Sandbox Code Playgroud)从第 5 个子元素开始删除 5 个元素(这是我想要的.splice()类似函数的真实场景JQuery):
var starting = 5,
index = 5
// I haven't tested this yet.
for(var x = index + starting; x > index; x--) {
$(PARENT_SELECTOR).children().eq(x - 1).remove()
}
Run Code Online (Sandbox Code Playgroud)这样的例子不胜枚举……我可以为每个场景制作自己的具体案例脚本[,这很简单]。我只是想知道JQuery它是否已经有这样的自己的功能——它会让我的脚本更短,并且不会让我重复编写类似的代码。
我认为$.slice确实是您正在寻找的东西。下面是示例:
<ul>
<li>list item 1</li>
<li>list item 2</li>
<li>list item 3</li>
<li>list item 4</li>
<li>list item 5</li>
</ul>
$( "li" ).slice( 2, 4 ).remove();
Run Code Online (Sandbox Code Playgroud)
请记住,.slice()从索引 0 开始,因此上面的示例将删除第三个到第五个子级。
| 归档时间: |
|
| 查看次数: |
2989 次 |
| 最近记录: |