我有以下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)
只是为了添加一个快速解释,为什么这个工作,.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()对包括空格在内的所有文本都很敏感,如果内容发生变化,你必须相应地修改我的答案.