jquery - jQuery .on('click') 在第一次点击时不起作用,但在第二次点击时不起作用
问题描述
我有 6 个选项卡,只有一个选项卡处于活动状态。当我单击任何其他时,单击的选项卡会变为活动类。我有一项任务是从选定的选项卡中获取价值,该选项卡在被单击后获得活动类。问题是我的.on('click')
方法仅在我第二次单击该选项卡后才向我显示带有活动类的选项卡。这是我的代码:
$('div[data-toggle="tab"]').on('click', function(){
if($(this).hasClass('active')){
var activeTemplateID = $('.active-template-id.text-danger').data('template-id');
console.log(activeTemplateID);
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="2" data-toggle="tab" href="#tab1"
role="tab" aria-controls="nav-home"
aria-selected="true"
class="align-items-end nav-item nav-link letter pl-0 pr-0 nav-home-tab"
style="display: grid;">
</div>
第一次单击后,我想获得选定选项卡的类。我做错了什么?
解决方案
你不需要把 if 条件。
它应该在没有 if 条件的情况下工作!因为单击已经使选项卡处于活动状态!您可以以正常方式获取它的数据!
$('div[data-toggle="tab"]').on('click', function(){
setTimeout(function(){
var activeTemplateID = $('.active-template-id.text-danger').data('template-id');
console.log(activeTemplateID);
}, 500);
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
推荐阅读
- visual-studio - Visual Studio 2019 'DLL 初始化失败' - 我无法运行应用程序
- python - 如何使用 Pollard Rho 方法的教科书版本计算 b 模 x?
- python - 从 .exe 文件在 Python 中执行字节字符串
- linux - 无法按模式找到文件
- unicode - 对角线的字符
- c++ - CGAL Efficient RANSAC with label and color properties
- oracle - 我们可以在自治数据库共享的模式级别设置查询执行时间限制吗?
- xcode - Xcode 13 不会在断点处暂停
- c# - 对于生成我的数据网格视图/数据表的每个循环?
- php - 是否可以在公共 html 之外拥有网络索引?