如何查找并移除desc_container中仅含 的<p>标签?
解决方案:移除仅包含 的p标签
没问题,直接用jQuery就能轻松实现你的需求,这里给你两种严谨的实现方式,适配不同的场景:
基础版(处理单个 或纯空白的p标签)
jQuery(document).ready(function(){ // 筛选并移除目标容器中仅含 或普通空白的p标签 $('.desc_container p').filter(function() { const trimmedText = $(this).text().trim(); // \xa0是HTML中 对应的Unicode编码 return trimmedText === '' || trimmedText === '\xa0'; }).remove(); });
进阶版(处理多个 或混合空格的情况)
如果你的p标签里可能有多个连续的 ,或者混合了普通空格,用这个版本更稳妥:
jQuery(document).ready(function(){ $('.desc_container p').filter(function() { // 先移除所有 ,再清理前后普通空格,判断是否为空 const cleanedText = $(this).text().replace(/\xa0/g, '').trim(); return cleanedText === ''; }).remove(); });
代码解释
- 用
filter()方法遍历所有目标p标签,只保留符合「仅含空白/ 」条件的元素 \xa0是 对应的Unicode字符,直接匹配它比匹配字符串 更可靠(因为浏览器渲染后会把 转成这个字符)- 最后调用
remove()把筛选出来的空标签彻底删除
测试示例
拿你提供的容器代码测试:
<div class="desc_container"> <p> Some contents! </p> <p> </p> <p> Again some contents! </p> <p> </p> </div>
运行代码后,容器里只会剩下两个有实际内容的p标签,那些仅含 的标签都会被移除。
内容的提问来源于stack exchange,提问作者sri hs
相关产品推荐
相关产品推荐

