如何删除p元素内的文本?

时间:2013-03-29 09:10:17

标签: javascript jquery

假设我有这样的事情:

<p>
 <h1>Coming events</h1>
 <br>
 randomtext
randomtext
randomtext
<h1>Past events</h1>
<br>
randomtext
randomtext
randomtext
</p>

我希望在<p>关闭之前删除包含过去事件和每一行文字的h1。我试过缠绕一个div,但这似乎对我不起作用。我还在学习jQuery的过程。

所以我期望在jQuery运行之后的以下内容将是:

<p>
     <h1>Coming events</h1>
     <br>
     randomtext
    randomtext
    randomtext
</p>

2 个答案:

答案 0 :(得分:1)

这样做的正确方法是包装div

<p>
 <div id="sectionA">
    <h1>Coming events</h1>
    <br>
    randomtext
    randomtext
    randomtext
</div>
 <div id="sectionB">
    <h1>Past events</h1>
    <br>
    randomtext
    randomtext
    randomtext
</div>
</p>

然后将其删除:$('#sectionB').remove();

但如果你不能,你可以删除这样的文字:

var text = $('p').html();
text = text.substr(0,text.indexOf("<h1>Past events</h1>"));
$('p').html(text);

答案 1 :(得分:0)

var $parent = $('p:first').parent();
var text = $parent.html();
$parent.html(text.substr(0, text.indexOf("<h1>Past events</h1>")));