jquery:删除元素之间的内容

Pr3*_*tor 2 jquery

我有以下HTML但我不能手动修改它.

<p class="class_1">
    <span class="support">Phonenr:</span> 
    1231231231 <span class="country">country1</span><br>
    312313123 <span class="country">country2</span><br>
    31231312 <span class="country">country3</span><br>
</p>
Run Code Online (Sandbox Code Playgroud)

我想删除这部分:

<span class="country">country1</span><br>
312313123 <span class="country">country2</span><br>
31231312 <span class="country">country3</span><br>
Run Code Online (Sandbox Code Playgroud)

所以结果是:

<p class="class_1">
    <span class="support">Phonenr:</span> 
    1231231231
</p>
Run Code Online (Sandbox Code Playgroud)

j08*_*691 10

尝试:

$('p.class_1').contents(':gt(2)').remove();
Run Code Online (Sandbox Code Playgroud)

jsFiddle例子

只是为了添加一个快速解释,为什么这个工作,.contents()返回元素以及文本和注释节点.因此,对于您的示例,.contents()包含12个元素:

0: text (a newline)
1: span.support
2: text (1231231231 )
3: span.country
4: br
5: text (312313123 )
6: span.country
7: br
8: text (31231312 )
9: span.country
10: br
11: text (a newline)
Run Code Online (Sandbox Code Playgroud)

你想在第二节之后摆脱一切,所以.contents(':gt(2)').remove()工作也很好.正如费利克斯指出的那样,由于.contents()对包括空格在内的所有文本都很敏感,如果内容发生变化,你必须相应地修改我的答案.