我正在尝试将第二个li标记显示为默认活动标签。 我的jquery代码是
<script type="text/javascript">
$(document).ready(function(){
$('#newtabs div').hide();
$('#newtabs div:first').show();
$('#newtabs ul li:first').addClass('active');
$('#newtabs ul li a').click(function(){
$('#newtabs ul li').removeClass('active');
$(this).parent().addClass('active');
var currentTab = $(this).attr('href');
$('#newtabs div').hide();
$(currentTab).show();
return false;
});
});
</script>
有任何建议吗?
答案 0 :(得分:3)
根据jQuery文档(http://api.jqueryui.com/tabs/),您可以在设置选项时使用active
属性。例如,你可以做
$(".selector").tabs({ active: 1 });
这将设置第二个标签(基于0索引)。
答案 1 :(得分:0)
试试这个:
$(document).ready(function(){
$('#newtabs div').hide();
$('#newtabs div').eq(1).show();
$('#newtabs ul li').eq(1).addClass('active');
...
});
答案 2 :(得分:0)
而不是
$('#newtabs ul li:first').addClass('active');
尝试
$('#newtabs ul li').eq(1).addClass('active');
这提供了#newtabs只包含一个ul。如果你想要定位的#newtabs中有多个ul,则需要使用
$('#newtabs ul li:nth-child(2)').addClass('active');
因为它选择“所有li元素是其父元素的第二个子元素”(nth-child()使用基于1的索引),而另一种方法将仅选择第一个ul的第二个li子元素。
答案 3 :(得分:0)
如果我理解你的问题,你应该改变
$('#newtabs div:first').show();
$('#newtabs ul li:first').addClass('active');
到
$('#newtabs div:eq(1)').show();
$('#newtabs ul li:eq(1)').addClass('active');
eq(1)
过滤第2个对象(索引从0开始)