由于无法修改源,我陷入困境。我能够插入一些自己的HTML,所以我可以创建一个起点。我也有一定的元素来定义为终点。
我想知道是否有可能以PHP提供的strpos方式删除输出的HTML,但现在使用jQuery。我在论坛上搜索过它,但我没有找到相关的问题。
以下简化示例:
<my startpoint>
<div>
..
.. non editable output
..
<identifier>
..
.. more output
</div>
我想使用jQuery将其编辑为:
..
.. more output
</div>
非常感谢任何建议。谢谢你的时间。
答案 0 :(得分:0)
想出来。我使用了几个$(selector).each()
来处理DOM并删除所有不需要的输出。
答案 1 :(得分:0)
此问题可以简化为:
这可以在您使用初始容器的子容器简化问题时递归完成,直到您从DOM中删除了要删除的所有元素。 .contents()
返回包含所有节点(包括TextNodes)的Object。 .each()
循环遍历此类对象中的所有元素。在那里返回false
会提前停止此循环。当第二个参数中的元素位于第一个参数的元素中时,$.contains(...)
为真。
var start = document.getElementById('start');
var splitpoint = document.getElementById('splitpoint');
function removeUntil( parent, split ) {
$(parent).contents().each( function( index, elem ) {
if( elem == split ) {
parent.removeChild( elem );
return false;
} else if( $.contains( elem, split ) ) {
removeUntil( elem, split );
return false;
} else {
parent.removeChild( elem );
}
} );
}
removeUntil( start, splitpoint );