-1

我怎样才能定位到<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

4 回答 4

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();
于 2013-01-29T10:03:22.907 回答
0

采用

$('li.more-toggle-news').find('ul');
于 2013-01-29T10:01:25.003 回答
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(); 
于 2013-01-29T10:03:22.440 回答
0

采用.find()

代替

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

尝试

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

.next()用于元素的兄弟姐妹。但是在这里ul is a child。所以使用.find()which will seaxh in its children

于 2013-01-29T10:03:56.997 回答