jQuery - 删除特定子元素之前的所有子元素

标签 jquery

JSFiddle: https://jsfiddle.net/9krvkfpw/

嗨,

我正在尝试删除所有子元素,但我不太确定最有效的方法是什么。

这是一些示例代码:

<div id="container">
    <div id="el1">Remove</div>
    <div id="el2">Remove</div>
    <div id="el3">Remove</div>
    <div id="el4">Remove</div>
    <script type="text/javascript">
    // Keep
    </script>
    <div id="lastEl">Keep</div>
</div>

本质上,我想要做的是删除脚本元素上方的所有元素。我不能只找到第一个脚本元素,因为有时在我想要保留的元素之上还有更多元素,所以它们会妨碍。

我的想法是通过点击#lastEl并获取前一个元素来获取脚本标签。

像这样:

var script = $('#container').children('#lastEl').prev();

从这里开始,我不确定继续进行的最佳方法是什么,或者这是否是最好的方法?

我可以多次执行 script.prev().remove() 之类的操作,但这并不总是有效,因为在我的脚本之前总是有不同数量的元素m 开头。

任何想法都会很棒!

谢谢!

最佳答案

要准确回答您正在寻找的内容:

Essentially, what I want to do is remove all elements above the script element

您可以执行以下操作:

$('#container script').prevAll().remove();

Fiddle

关于jQuery - 删除特定子元素之前的所有子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38631608/

相关文章:

javascript - 如何不打开重复的链接

javascript - JavaScript 文件中的代码如何获取文件的 URL?

javascript - 增加点击图像的大小

javascript - 我的光滑 slider 旋转木马有一个额外的白色幻灯片。有什么办法可以摆脱它?

ajax - jquery和ajax问题

jquery - 使用 onclick 事件向 jqgrid 操作列添加自定义图标

javascript - 刷新时打开模式

javascript - jQuery .html() 方法关闭 <p> 标签问题?

javascript - 如何避免下面的 div 接收事件?

java - 使用 Ajax 将表单数据发送到 Struts2 Action 类