当我点击标签时,它会显示关联的内容。我正在使用#
来执行此操作。这是我尝试过的,但我不知道如何进行切换部分,有人可以帮忙吗?
所以当点击tab1显示tab1内容,然后点击tab2显示tab2内容等等。
$(document).ready(function () {
$('.tab-content:not(:first)').hide();
$('.tab-menu li a').click(function () {
$(this).addClass('active').siblings().removeClass('active');
});
});

.tab-menu {
padding: 0;
}
.tab-menu li {
display: inline-block;
}
.tab-menu .active {
background: yellow;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<ul class="tab-menu">
<li><a href="#tab-1">Tab 1</a></li>
<li><a href="#tab-2">Tab 2</a></li>
<li><a href="#tab-3">Tab 3</a></li>
</ul>
<p id="tab-1" class="tab-content">Content 1</p>
<p id="tab-2" class="tab-content">Content 2</p>
<p id="tab-3" class="tab-content">Content 3</p>
&#13;
编辑,我不想使用jQuery UI或任何插件。
答案 0 :(得分:2)
你在这里非常接近,只有几件事:
1)我建议应用&#34; active&#34;父类<nav id ="topNav" class="navbar navbar-default">
<h3>Text</h3>
<form class="navbar-form navbar-right navbar-input-group" role="search">
的类,因此您的突出显示将更容易到达
2)使用点击链接的<li>
来切换内容,我会使用一个类隐藏/显示内容,但是我会按照你使用href
的例子提供jQuery和show()
方法。这两种方法都可行。
最终的jQuery会是这样的:
hide()
它在小提琴中工作以供参考:http://jsfiddle.net/yscbeaxh/
答案 1 :(得分:1)
解决方案非常简单。
首先,我为所有标签display
none
和活动课display:block;
与jquery相比,我采用您点击的href
的{{1}}值,而不是将其用作选择器以将<a>
激活添加到右侧标签。
HTML:
class
的CSS:
<ul class="tab-menu">
<li><a href="#tab-1">Tab 1</a></li>
<li><a href="#tab-2">Tab 2</a></li>
<li><a href="#tab-3">Tab 3</a></li>
</ul>
<div class="tabs">
<p id="tab-1" class="tab-content active">Content 1</p>
<p id="tab-2" class="tab-content">Content 2</p>
<p id="tab-3" class="tab-content">Content 3</p>
</div>
Jquery的:
.tab-menu {
padding: 0;
}
.tab-menu li {
display: inline-block;
}
.tab-menu .active {
background: yellow;
}
.tabs{
width:50%;
}
.tabs > p{
display:none;
}
.tabs .active{
display:block;
}
答案 2 :(得分:1)
确实很难找到合适的标签。你当前的代码并不算太差,但你最终会面临打嗝。我不能说什么OTTOMH,但是,你会;)。
对于您当前的代码,您需要从点击href
中获取li
属性,选择匹配的p
(基于ID - 方便href
attr返回#tab-1
,您可以将其用作选择器!),并显示它。您还需要隐藏其他“有效”标签,并从任何“有效”标签中删除该类。
这段代码可以解决问题。
$(document).ready(function () {
$('.tab-content:not(:first)').hide();
$('.tab-menu li a').click(function () {
$('.tab-menu li a.active').removeClass('active');
var tabDivId = $(this).attr('href');
$(this).addClass('active').siblings().removeClass('active');
$('p.tab-content').hide();
$(tabDivId).show();
});
});
.tab-menu {
padding: 0;
}
.tab-menu li {
display: inline-block;
}
.tab-menu .active {
background: yellow;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<ul class="tab-menu">
<li><a href="#tab-1">Tab 1</a></li>
<li><a href="#tab-2">Tab 2</a></li>
<li><a href="#tab-3">Tab 3</a></li>
</ul>
<p id="tab-1" class="tab-content">Content 1</p>
<p id="tab-2" class="tab-content">Content 2</p>
<p id="tab-3" class="tab-content">Content 3</p>