【发布时间】:2013-06-05 12:43:33
【问题描述】:
假设我有一个这样的字符串:
<div id="div1"></div>
<div class="aClass" id="div2">
<div id="div3" class="anotherClass"></div>
<div id="div4" />
</div>
<div id="div5"></div>
我想从字符串中删除 div2 以及该 div 中的所有内容
所以我得到了这样的字符串
<div id="div1"></div>
<div id="div5"></div>
我想使用正则表达式来查找第一个 id 为“div2”的 div 或任何 div 的 id 并计算括号直到它到达“”。问题是“div3”最后也有一个“”。
我要删除的 div 的内容也可能包含更多或更少的 div。
关于如何编码的任何想法?
更新:
var htmlText = editor3.getValue();
var jHtmlObject = jQuery(htmlText);
jHtmlObject.find("#div2").remove();
var newHtml = jHtmlObject.html();
console.log(newHtml);
为什么这不会在控制台中返回任何内容?
更新2!: 我制作了一个 jsFiddle 来使我的问题可视化.. http://jsfiddle.net/WGXHS/
【问题讨论】:
-
你不需要费力就可以做到这一点:) 只需使用 jquery 中的
.remove()功能。 -
使用正则表达式解析 HTML 将 make you go insane。 You could use
DOMParser并从那里删除 div。 -
Jquery 的开发本身就是为了这个缘故。 少写,多做。当您使用 jquery 时,请充分利用它
标签: javascript jquery html regex