使用jQuery定位ul

时间:2013-01-29 09:59:47

标签: jquery

如何定位<ul><li class="more-toggle-news">内的jQuery

    <ul>
  <li class="more-toggle-news"><span aria-hidden="true" class="icon-plus"></span><?php the_time('Y'); ?>
    <ul>
        <li>List Item</li>
        <li>List Item</li>
        <li>List Item</li>
    </ul>
  </li>
</ul>

我目前有这段代码:

jQuery('li.more-toggle-news').click(function() {
    var $this = jQuery(this);
    $this.next('ul').toggle();
    $this.find('span').toggleClass('icon-plus').toggleClass('icon-minus');
  });

4 个答案:

答案 0 :(得分:1)

试试这个:

jQuery('li.more-toggle-news').click(function () {
    var $this = jQuery(this);
    $this.find('ul').toggle();
    $this.find('span').toggleClass('icon-plus').toggleClass('icon-minus');
});

第一个ul:

$this.find('ul:eq(0)').toggle();

答案 1 :(得分:0)

使用

$('li.more-toggle-news').find('ul');

答案 2 :(得分:0)

试试.find()http://jsfiddle.net/BvbUU/

jQuery('li.more-toggle-news').click(function() {
  var $this = jQuery(this);
  $this.find('ul').toggle();
  $this.find('span').toggleClass('icon-plus').toggleClass('icon-minus');
});

另请参阅fadetoggle()更新而不是`toggle()':http://jsfiddle.net/BvbUU/1/

编辑:  获得第一个ul:http://jsfiddle.net/BvbUU/2/

$this.find('ul:first').toggle(); 

$this.find('ul:eq(0)').toggle(); 

答案 3 :(得分:0)

使用.find()

而不是

$this.next('ul').toggle();

尝试

$this.find('ul').toggle();

.next()用于元素的兄弟。 但在这里ul is a child。因此,请使用.find()来代替其子代