【发布时间】:2019-08-20 09:50:49
【问题描述】:
HTML 代码:
<ul class="nav nav-tabs">
<li role="presentation" id="tab1" class="active"><a onclick="switchTabs(1)">Tab1</a></li>
<li role="presentation" id="tab2"><a onclick="switchTabs(2)">Tab2</a></li>
</ul>
JS代码:点击时没有出错,但没有切换
function switchTabs(idx) {
// this is not working
var $li = $(this).parent();
if($li.hasClass('active')) {
return false; // not enter here
}
$li.removeClass('active');
if (idx === 1) {
$li.next().addClass('active');
} else {
$li.prev().addClass('active');
}
// but this works while using id selector
/*if (idx === 1) {
$("#tab1").addClass('active');
$("#tab2").removeClass('active');
} else if(idx === 2) {
$("#tab2").addClass('active');
$("#tab1").removeClass('active');
}*/
return false;
}
可能是什么原因?
【问题讨论】:
-
你可以通过
$(this)和switchTabs(1) -
您在调用函数时没有定义
this。最好使用 jQuery 分配侦听器,而不是在模板中使用onclick。然后,jQuery 会为你做这部分。
标签: javascript jquery html