如何获取活动文本

时间:2010-09-21 12:23:21

标签: jquery

<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将其置于选定的类

4 个答案:

答案 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();

更改哪个是活动的,您只需removeClassaddClass,例如:

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>​