【发布时间】:2017-03-10 11:28:15
【问题描述】:
使用 JQuery,当我单击位于此 BootStrap 选项卡列表中的tabpanel 中的button 时,我想获取当前li 的索引。
<ul id="mytabs" class="nav nav-pills nav-wizard pill-font"
role="tablist" data-tabs="tabs">
<li role="presentation" class="active"><a href="#start"
data-toggle="tab">Before We Start</a></li>
<li role="presentation"><a href="#setup" aria-controls="setup"
role="tab">Setup</a></li>
<li role="presentation"><a href="#signup" aria-controls="Signing Up"
role="tab">Signing Up</a></li>
<li role="presentation"><a href="#speed" role="tab">Shipping Speeds</a</li>
<li role="presentation"><a href="#fulfill" role="tab">Fulfillment</a></li>
<li role="presentation"><a href="#product"
role="tab">Products</a></li>
</ul>
我将在每个 tabpanel 内的按钮中使用一个计数器,这样我就可以前进和后退。这是我没有计数器的 JQuery..
$(document).ready(function(){
$(":button").click(function(e){
e.preventDefault();
$('#mytabs li:eq(2) a').tab('show');
});
});
现在它只有索引2,但如果我能找到当前li 的索引,我将能够对其进行加减运算以获得我想要的li。
我尝试使用this,但这只是返回按钮的index,这不是我想要的。
谢谢大家,把大家的回答混搭成这样:
$(document).ready(function(){
$(":button").click(function(e){
e.preventDefault();
var index = $(this).parent().index();
var length = $('#mytabs li a').length
alert(length);
index=index+1;
$('#mytabs li:eq('+index+') a').tab('show');
});
});
【问题讨论】:
-
使用 this.parent()
-
请澄清您的具体问题或添加其他详细信息以准确突出您的需要。正如目前所写的那样,很难准确地说出你在问什么。 (请添加完整的 HTML 代码。)
-
射击,不。说它未定义
-
也许你的语法错误?像这样尝试 $(this).parent()
-
令人困惑的问题..请详细说明
标签: javascript jquery twitter-bootstrap