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

如何移除异步生成DOM节点的激活类,再为目标节点新增对应类?

实现方案

你可以直接用jQuery自带的DOM操作方法实现,代码更简洁,也可以用原生DOM API实现,两种写法如下:

jQuery写法(推荐)

$(".custom-collection-pagination-list").on('click', '.custom-collection-pagination__item', function(e) {
  // 查找当前点击项的所有同级分页项,统一移除激活类
  $(this).siblings('.custom-collection-pagination__item').removeClass('paginate-active');
  // 给当前点击项添加激活类,$(this)直接指向触发事件的li元素,避免target指向子元素的问题
  $(this).addClass('paginate-active'); 
})

原生DOM API写法

$(".custom-collection-pagination-list").on('click', '.custom-collection-pagination__item', function(e) {
  // e.currentTarget固定指向绑定了事件的li元素,避免点击li内部子元素时target指向错误
  const currentItem = e.currentTarget;
  // 拿到父容器下所有分页项
  const allPaginationItems = currentItem.parentElement.querySelectorAll('.custom-collection-pagination__item');
  // 遍历移除所有激活类
  allPaginationItems.forEach(item => item.classList.remove('paginate-active'));
  // 给当前点击项添加激活类
  currentItem.classList.add('paginate-active'); 
})

注意事项

建议替换原代码里的e.target为e.currentTarget,如果你的li标签内部还有其他子元素(比如数字文本、图标等),点击子元素时e.target会指向子元素而非li本身,导致加类失败。

内容的提问来源于stack exchange,提问作者Rurohi53

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 14:00:02