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

如何在切换标签页时获取active tab-pane的ID并转换存储输出

切换标签页时获取对应数值并打印的实现方案

需求:切换标签页时,自动获取当前激活的tab-pane的ID,将tab-pane1/tab-pane2/tab-pane3分别对应转为数值1/2/3存入变量,并在控制台打印该变量。以下提供两种实现方式:

jQuery 实现

// 监听标签切换完成事件(Bootstrap官方触发事件)
$('a[data-bs-toggle="tab"]').on('shown.bs.tab', function () {
    // 获取当前激活的tab-pane的ID
    const activeTabId = $('.tab-pane.active').attr('id');
    // 提取ID中的数字并转为数值变量
    const tabNumber = parseInt(activeTabId.replace('tab-pane', ''), 10);
    // 打印变量
    console.log(tabNumber);
});

// 页面初始化时,打印初始激活的标签对应数值
const initialActiveId = $('.tab-pane.active').attr('id');
const initialTabNumber = parseInt(initialActiveId.replace('tab-pane', ''), 10);
console.log(initialTabNumber);

原生 JavaScript 实现

// 获取所有带标签切换功能的按钮
const tabLinks = document.querySelectorAll('a[data-bs-toggle="tab"]');

// 为每个标签按钮绑定切换完成事件
tabLinks.forEach(link => {
    link.addEventListener('shown.bs.tab', function() {
        // 获取当前激活的tab-pane元素
        const activeTab = document.querySelector('.tab-pane.active');
        // 提取ID末尾的数字并转为数值
        const tabNumber = parseInt(activeTab.id.slice(-1), 10);
        console.log(tabNumber);
    });
});

// 页面加载完成后,打印初始激活标签的对应数值
const initialActiveTab = document.querySelector('.tab-pane.active');
const initialTabNumber = parseInt(initialActiveTab.id.slice(-1), 10);
console.log(initialTabNumber);

说明

你提供的现有代码仅能在页面加载时打印一次初始激活的tab-pane的ID,无法响应标签切换操作。上述两种方案均使用Bootstrap的shown.bs.tab事件(标签切换完成后触发),确保每次切换后都能获取到最新的激活标签信息,同时处理了页面初始化时的初始状态。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 17:50:45