[英]How to remove <br> using jquery
这是我的 html
<div class="ch-list"> <p><a>Ch 1</a><br><a>Ch 2</a></p> <br> <p><a>Ch 3</a><br><a >Ch 4</a></p> </div> <div class="pg-list"> <p><a>pg 1</a><br><a>pg 2</a></p> <br> <p><a>pg 3</a><br><a>pg 4</a></p> </div>
如果我执行以下操作
$("p,.ch-list").children('br').remove();
它删除所有<br>它变成了这样
<div class="ch-list"> <p><a>Ch 1</a><a>Ch 2</a></p> <p><a>Ch 3</a><a>Ch 4</a></p> </div> <div class="pg-list"> <p><a>pg 1</a><a>pg 2</a></p> <p><a>pg 3</a><a>pg 4</a></p> </div>
我不知道如何只从其他 class 中删除 < br> class=ch-list 中的 < a > 之间的 < br > 不包括 < p > 或 < br > 之间的其他 < br > 我想做这样的事情
<div class="ch-list"> <p><a>Ch 1</a><a>Ch 2</a></p> <br> <p><a>Ch 3</a><a>Ch 4</a></p> </div> <div class="pg-list"> <p><a>pg 1</a><br><a>pg 2</a></p> <br> <p><a>pg 3</a><br><a>pg 4</a></p> </div>
请告诉我该怎么做对不起我的英语不好
你可以这样做,因为你说你想删除 2 x <a>
之间的<br>
:
$('.ch-list p br').filter(function() {
if ($(this).prev().is("a") && $(this).next().is("a")) {
return this
}
}).remove()
演示
$('.ch-list p br').filter(function() { if ($(this).prev().is("a") && $(this).next().is("a")) { return this } }).remove()
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="ch-list"> <p><a>Ch 1</a><br><a>Ch 2</a></p> <br> <p><a>Ch 3</a><br><a>Ch 4</a></p> </div> <div class="pg-list"> <p><a>pg 1</a><br><a>pg 2</a></p> <br> <p><a>pg 3</a><br><a>pg 4</a></p> </div>
$(".ch-list p").children('br').remove();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.