2

我有一个由 PHP 生成的代码,其中包含不需要的 br 标签。如何删除<br>打开后立即出现的时间,<ul>即:它不在里面<li> 如何<br>在关闭标签后立即删除</ul>

<ul>
    <br>
    <li> ....</li>
    <li> ....</li>
    <li> ....</li>
</ul>
<br>
4

5 回答 5

6

将 a视为唯一合法子项<ul><li>标签:

$('ul').children(':not(li)').remove();

或者,如果您想更具体一点,只解决这个特定错误:

$('ul > br').remove();

要删除 a<br>后面的 a ,您可以使用“preceding” CSS 选择器<ul>

$('ul + br').remove();

请注意,后者不仅仅指“开始”<ul>标签,而是指整个<ul> 元素,包括其结束</ul>标签。

于 2013-05-23T14:14:06.063 回答
4

要在关闭<br />后删除,<ul>您可以使用以下命令:

$("ul").next("br").remove();

要删除<br />内部<ul>,您可以使用以下命令:

$('ul').children(':not(li)').remove();
于 2013-05-23T14:15:18.050 回答
0

正是根据您的要求

$('ul').next('br').remove();
$('ul').first('br').remove();

但是,Alnitak有一种更优雅的方法。

于 2013-05-23T14:15:49.577 回答
0

不要只使用 JS,使用 CSS display : none

如果有人使 JS 失效,则 br 仍然存在。改为这样做:

ul > br{display : none};

如果您想删除它以获得更好的源代码,请使用:

$('ul > br').remove()

如果要删除 te ul 旁边的 br,请改用 thos 选择器:

CSS

ul + br

jQuery

$('ul + br')
于 2013-05-23T14:16:13.320 回答
-1

这是您的问题的演示

jQuery("ul").siblings("br").each(function(){
jQuery(this).remove();});

演示

于 2013-05-23T14:16:57.483 回答