You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

点击删除Pill badges及Bootstrap 5添加右上角关闭叉号实现咨询

解决方案

一、给Pill Badge添加右上角关闭叉号

Bootstrap 5没有原生自带关闭按钮的pill徽章组件,但你已经引入了Bootstrap Icons,可以非常方便的自定义实现,不需要额外依赖。

二、实现点击删除功能

因为是动态生成的元素,需要用jQuery事件委托的方式绑定删除事件,避免直接绑定到动态元素上无效。


具体修改步骤

  1. 修改添加徽章的JS逻辑
    把你原来的$("#listBtn").click回调里的append内容替换为带关闭图标的结构,还可以加个空值判断避免添加空白标签:
$("#listBtn").click(function() {
  let txt = $('#fruits').val();
  if(txt.trim() === '') return;
  $("#symbolPicks").append(`
    <span class="badge rounded-pill bg-secondary d-inline-flex align-items-center gap-1 me-1 mb-1">
      ${txt}
      <span class="remove-pill bi bi-x-circle-fill fs-6 cursor-pointer"></span>
    </span>
  `);
  $("#fruits").val("");
});

这里用到的d-inline-flex、align-items-center、gap-1都是Bootstrap 5自带的工具类,不需要额外写复杂的自定义样式就能实现内容和关闭按钮对齐、留间距的效果。

  1. 新增删除事件绑定
    在你的JS代码末尾添加事件委托逻辑,绑定到固定存在的父元素#symbolPicks上即可适配动态生成的元素:
// 点击关闭按钮删除对应徽章
$('#symbolPicks').on('click', '.remove-pill', function() {
  $(this).closest('.badge').remove();
});

// 如果需要点击整个徽章就删除,替换为下面这段即可
// $('#symbolPicks').on('click', '.badge', function() {
//   $(this).remove();
// });
  1. 可选样式优化
    如果需要调整关闭按钮的交互效果,可以加少量自定义CSS:
.remove-pill {
  opacity: 0.7;
  transition: opacity 0.2s ease;
}
.remove-pill:hover {
  opacity: 1;
}

内容的提问来源于stack exchange,提问作者Carol.Kar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 20:36:00