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()
这样做多次,但这并不总是有效,因为在我开始的脚本之前的元素数量总是不同的。
任何想法都很好!
谢谢!
$('#container').find('#lastEl').prev().prevAll().remove()
。 - guradio