<div class="tabs">
<ul>
<li class="active"><span class="l"></span><a href="#">Standard Class</a><span class="r"> </span></li>
<li><span class="l"></span><a href="#">Bussiness Class</a><span class="r"></span></li>
<li><span class="l"></span><a href="#">Premium</a><span class="r"></span></li>
以及如何从非选定的类中取出活动类并使用jQuery将其置于选定的类
答案 0 :(得分:2)
$('.tabs a').click(function() {
$('.tabs li').removeClass('active');
(this).parent().addClass('active');
});
以及活动文本:
$('.tabs .active a').text();
答案 1 :(得分:2)
试试这个:
它会缓存您的<li>
元素,因此您无需继续从DOM中选择它们。
var $lis = $('div.tabs > ul > li').click(function() {
var text = $(this).addClass('active').text();
$lis.not(this).removeClass('active');
});
答案 2 :(得分:1)
var activeText = $('.active a').text();
答案 3 :(得分:1)
实例:http://jsbin.com/uwigo4/3(完整来源)
获取“有效”文本,您可以使用text
:
var text = $('div.tabs li.active').text();
更改哪个是活动的,您只需removeClass
和addClass
,例如:
jQueryObjForCurrentActiveElement.removeClass('active');
jQueryObjForNewElementToMakeActive.addClass('active');
如果您在事件处理程序中执行此操作,则可能还需要hasClass
。
实例示例来源:
<!DOCTYPE html>
<html>
<head>
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<meta charset=utf-8 />
<title>Test Page</title>
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<script type='text/javascript'>
jQuery(function($) {
$('div.tabs > ul > li').click(function(event) {
var $this = $(this);
if (!$this.hasClass('active')) {
display("Activating '" + $this.text() + "'");
$('div.tabs li.active').removeClass('active');
$this.addClass('active');
}
});
function display(msg) {
$('<p>' + msg + '</p>').appendTo(document.body);
}
});
</script>
<style>
article, aside, figure, footer, header, hgroup,
menu, nav, section { display: block; }
.active {
font-weight: bold;
background-color: #eee;
}
</style>
</head>
<body>
<div class='tabs'>
<ul>
<li class='active'><span>Tab 1</span></li>
<li><span>Tab 2</span></li>
<li><span>Tab 3</span></li>
</ul>
</div>
</body>
</html>