添加类或CSS:使用javascript激活
我需要一些关于JS和CSS的帮助。我正在使用JS隐藏和显示网站上某个特定导航栏中的小节。第一个问题是,我希望JS代码只适用于该导航栏,而不适用于同一站点上的许多其他导航栏。下面是JS代码:添加类或CSS:使用javascript激活,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我需要一些关于JS和CSS的帮助。我正在使用JS隐藏和显示网站上某个特定导航栏中的小节。第一个问题是,我希望JS代码只适用于该导航栏,而不适用于同一站点上的许多其他导航栏。下面是JS代码: $('a').click(function(){ $('section').hide(); $($(this).attr('href')).show(); }); 下面是HTML代码。我想知道我是否可以使用navigation
$('a').click(function(){
$('section').hide();
$($(this).attr('href')).show();
});
下面是HTML代码。我想知道我是否可以使用navigation类在JS代码中只选择这个导航栏
<ul class="navigation">
<li class="link"><a href="#content1">Tab1</a></li>
<li class="link"><a href="#content2">Tab2</a></li>
<li class="link"><a href="#content3">Tab3</a></li>
</ul>
提前非常感谢 jQuery选择字符串使用与CSS相同的语法。因此,要仅选择作为导航子项的锚定标记,可以使用 对于CSS问题,无需使用:活动选择器。只需向目标元素添加或删除类
$('.navigation a').click(function () {
// make tabs default color
$('.navigation a').removeclass('fancy-colors')
// make clicked tab fancy
$(this).addClass('fancy-colors')
})
查看jQuery toggleclass文档
在页面加载上设置默认值只意味着在标记中添加类
<a class="fancy-colors">
好的,让我们先讨论css
如果您希望链接在默认情况下处于活动状态,只需将其修改为
<ul class="navigation">
<li class="link"><a href="#content1" class="active">Tab1</a></li>
<li class="link"><a href="#content2">Tab2</a></li>
<li class="link"><a href="#content3">Tab3</a></li>
然后您可以通过JS处理rest,使用.find仅在导航中选择元素,使用.addClass和.removeClass将元素更改为活动
$(".navigation a").click(function() {
$(".navigation").find('a').removeClass('active');
$(this).addClass('active');
});
创建一个CSS类,负责设置活动元素的样式。在本例中,我们将使用class.active。重要的是要注意,这不是一个简单的问题 我们将为选项卡使用简单的HTML标记:
<ul class="tabs">
<li>
<a href="#">my tab</a>
</li>
</ul>
下一步是创建一个脚本来处理选项卡上的单击。我们希望脚本从其他选项卡中删除class.active,并将其分配给刚刚单击的选项卡。为此,我们可以创建如下脚本:
$('.tabs').on('click', 'a', function () {
var $this = $(this), $ul = $this.parents('ul');
$ul.find('a').removeClass('active');
$this.addClass('active');
});
实例
$'.tabs'。在“单击”“a”“函数”上{
var$this=$this,
$ul=$this.parents'ul';
$ul.find'a'。删除类'active';
$this.addClass'active';
};
身体{
利润率:25px;
}
ul标签{
利润率:0.30px0;
填充:0;
列表样式:无;
}
李先生{
显示:内联块;
}
ul.lia{
边际:0.2px;
填充物:5px10px;
盒影:0 0 4pxRGBA0,0,0,4;
文字装饰:无;
背景:eee;
颜色:888;
文本转换:大写;
边界半径:4px;
}
ul.a:悬停{
盒影:0.04pxRGBA0,0,0,4,0.8pxRGBA0,0,0,8;
}
ul.a.有效{
背景:aaa;
颜色:fff;
}
每个问题请回答一个问题。第一个问题请阅读jQuery API的选择器部分。对于第二个选项,将类切换为active。。再次查看jQuery中不需要查找的方法。导航a意味着只有锚是.navigationYou显然是对的,但我想展示一下他是如何在某个东西中循环某个东西的:
$(".navigation a").click(function() {
$(".navigation").find('a').removeClass('active');
$(this).addClass('active');
});
<ul class="tabs">
<li>
<a href="#">my tab</a>
</li>
</ul>
.tabs a { // represents the tabs
border: 1px solid #000;
}
.tabs a.active { // represents the active tabs
background: #f00;
}
$('.tabs').on('click', 'a', function () {
var $this = $(this), $ul = $this.parents('ul');
$ul.find('a').removeClass('active');
$this.addClass('active');
});