我的标签内容上方有标签。
只要我的标签内容很长,我也会在标签内容下面复制标签。
所以,它看起来像:
[tab 1] [tab 2]
- 含量
[tab 1] [tab 2]
我使用css和jQuery。
当我更改上面的tab-list时,通常css效果会发生变化。但它并没有在底部标签列表中发生变化。
底部也是如此;当我更改选项卡列表底部的选项卡时,css效果仅在底部更改,但不在选项卡列表上方。
我想立即更改它们,因为它看起来很混乱。
HTML:
<div class="tabs">
<ul class="tab-links">
<li class="active"><a href="#tab1">Tab #1</a></li>
<li><a href="#tab2">Tab #2</a></li>
</ul>
<div class="tab-content">
<div id="tab1" class="tab active">#1 content</div>
<div id="tab2" class="tab">#2 content </div>
</div>
<div class="tabs">
<ul class="tab-links">
<li class="active"><a href="#tab1">Tab #1</a></li>
<li><a href="#tab2">Tab #2</a></li>
</ul>
</div>
</div>
JavaScript的:
jQuery(document).ready(function() {
jQuery('.tabs .tab-links a').on('click', function(e) {
var currentAttrValue = jQuery(this).attr('href');
// Show/Hide Tabs
jQuery('.tabs ' + currentAttrValue).slideDown(400).siblings().slideUp(400);
// Change/remove current tab to active
jQuery(this).parent('li').addClass('active').siblings().removeClass('active');
e.preventDefault();
});
});
的jsfiddle:
*
我期待它能像那样工作,因为CSS代码是相同的,所以如果它在tab-list-above中工作,为什么不在tab-list-bottom中工作呢?
答案 0 :(得分:3)
您需要使用选择器并向a
具有相同href
jQuery(document).ready(function() {
jQuery('.tabs .tab-links a').on('click', function(e) {
var currentAttrValue = jQuery(this).attr('href');
// Show/Hide Tabs
jQuery('.tabs ' + currentAttrValue).slideDown(400).siblings().slideUp(400);
console.log(currentAttrValue);
jQuery(".tab-links li").removeClass("active");
jQuery('a[href="'+currentAttrValue+'"]').parent('li').addClass('active');
e.preventDefault();
});
});
答案 1 :(得分:0)
显然问题不是jquery,但是当你指向更改时,如果你想同时更改两个标签而不指向This,因为这仅指单击的对象,而不是一般的类,当然由于“输入:检查和标签”
,pestraraas可以实现仅使用cSS-3的效果答案 2 :(得分:0)
我已经在小提琴上更新了你的代码。我希望这会奏效。
jQuery(document).ready(function() {
jQuery('.tabs .tab-links a').on('click', function(e) {
var currentAttrValue = jQuery(this).attr('href');
// Show/Hide Tabs
jQuery('.tabs ' + currentAttrValue).slideDown(400).siblings().slideUp(400);
// Change/remove current tab to active
var indexTab = jQuery( "li" ).index(jQuery(this).parent('li'));
jQuery('ul.tab-links').each(function(){jQuery(this).find('li').eq(indexTab).addClass('active').siblings().removeClass('active');});
e.preventDefault();
});
});