首页 > 其他分享 >js切换bootstrap的tab页

js切换bootstrap的tab页

时间:2024-03-25 14:24:05浏览次数:15  
标签:val bootstrap triggerEl js 切换 tab

使用bootstrap的tab页组件中发现了一个问题:需要使用js切换,试用了官方文档中的方法和jquery触发点击事件,发现居然报错或者不起作用。

在此记录下

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <link href="./plugins/bootstrap-5.1.3/css/bootstrap.min.css" rel="stylesheet" />
    <script src="./plugins/jquery/jquery-3.6.0.min.js"></script>
    <script src="./plugins/bootstrap-5.1.3/js/bootstrap.bundle.min.js"></script>
    <style></style>
  </head>
  <body>
    <ul class="nav nav-tabs mt-2" id="myTab">
      <li class="nav-item">
        <a class="nav-link active" data-bs-toggle="tab" data-bs-target="#tab1" style="cursor: pointer">Tab1</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" data-bs-toggle="tab" data-bs-target="#tab2" style="cursor: pointer">Tab2</a>
      </li>
    </ul>
    <div class="tab-content">
      <div class="tab-pane fade active show" id="tab1" role="tabpanel">Tab1 content</div>
      <div class="tab-pane fade" id="tab2" role="tabpanel">Tab2 content</div>
    </div>

    <button type="button" class="btn btn-secondary" onclick="switchTab(1)">tab1</button>
    <button type="button" class="btn btn-secondary" onclick="switchTab(2)">tab2</button>

    <button type="button" class="btn btn-secondary" onclick="switchTab1(1)">原生js切换到tab1</button>
    <button type="button" class="btn btn-secondary" onclick="switchTab2(1)">jquery切换到tab1</button>
  </body>
  <script>
    function switchTab(val) {
      const triggerEl = document.querySelector(`#myTab a[data-bs-target="#tab${val}"]`);
      // bootstrap.Tab.getInstance(triggerEl).show();//报错
      bootstrap.Tab.getOrCreateInstance(triggerEl).show(); //正常切换
    }

    function switchTab1(val) {
      const triggerEl = document.querySelector(`#myTab a[data-bs-target="#tab${val}"]`);
      triggerEl.click(); //正常切换
    }

    function switchTab2(val) {
      $(`#myTab a[data-bs-target="#tab${val}"]`).trigger("click"); //不报错,不起作用
    }
  </script>
</html>

标签:val,bootstrap,triggerEl,js,切换,tab
From: https://www.cnblogs.com/caroline2016/p/18094281

相关文章

  • 【JS逆向百例】云汉芯商城逆向分析
    声明本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作......
  • 捏妈妈的,学了两天的node.js才学到express,之前白雪了呗!
    Express的基本使用1、老样子,先导入constexpress=require(‘express’)2、然后创建一个服务器constapp=express()3、启动服务器app.listen(80,()=>{console.log('expressserverrunningathttp://127.0.0.1') }) 下面我们继续学习用法监听Get请求:可以使用app.g......
  • 视野修炼-技术周刊第78期 | Node.js纪录片
    欢迎来到第78期的【视野修炼-技术周刊】,下面是本期的精选内容简介......
  • non constant or forward reference address expression for section .ARM.extab 错误
    编译时报错:FAILED:STM32F103RET6_Test001.elfcmd.exe/C"cd.&&D:\ProgramFiles\gcc-arm-none-eabi\bin\arm-none-eabi-gcc.exe-g-Wl,-gc-sections,--print-memory-usage,-Map=D:/ProjectCode/CLion/test/STM32F103RET6_Test001/cmake-build-debug-arm-......
  • 六、使用jsPlumb实现流程图--Overlays使用
    一、Overlay的功能叠层(Overlay)可以是任意的DOM元素,用于叠加在Connection或Endpoint元素上--绝大部分都是用于叠加在线条上。jsPlumb把Overlay分为了五类:Arrow、Label、PlainArrow、Diamond、Custom。除了Custom和Label类型,其他三类就是jsPlumb提供的可以直接使用的图形;Label类......
  • EasyUi之Tabs(选项卡)
    原文链接:https://blog.csdn.net/qianbihua00/article/details/115392143什么是Tabs选项卡是最流行的导航模式之一(与菜单栏和垂直导航一样)。选项卡最大的优点是用户很熟悉,而且经常是持久的内容,所以即使用户在网站或应用程序中跳出刚浏览过的内容,他们也不会迷失。官方示例 ......
  • node.js学习,学习到模块化了,写个博客先
    模块化:编程领域的模块化,就是遵守固定的规则,把一个大文件拆解成独立并互相依赖的小模块模块化规范就是对代码进行模块化的拆分与组合时,所需要遵守的规则。这样有利于降低沟通的成本,也有利于实现我们现在所流行的组件化具体使用方法:其实很简单,用require()方法就好,模块加载分为三种......
  • ElementUI的Table控件,合并列
    x//计算需要合并的列for(letk=0;k<that.tableData.length;k++){//判断当前类型是否与下一个类型一致,一致则两个单元格合并。if((k+1)<that.tableData.length&&......
  • JS添加input text、input button
    <body><formid="form1"runat="server"><divid="div1"class="a1"name="aaa"><inputtype="text"class="a3"name="name"value="3"/&g......
  • Node.js新手必备:超实用命令行入门教程
    1.安装Node.js和npm首先,我们需要下载并安装Node.js,它自带了npm(NodePackageManager)。安装完成后,在命令行输入:node-vnpm-v这两个命令分别显示已安装的Node.js和npm版本,确认安装成功。2.初始化新项目npminit按照提示填写相关信息后,npm会帮你生成一个package.json......