繁体   English   中英

如何删除<br>使用 jquery

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM