nextAll或类似的。阅读更多

时间:2013-07-13 00:22:59

标签: jquery

可能是一个相当容易的问题。我们在这里......

  • 在一个div中有几个p-tag
  • 其中一个p-tag以“readmore”链接结束,可以是带有类
  • 的跨度
  • 需要在同一div中的所有后续p-tag中添加一个类
  • 可以免费添加额外的课程以使解决方案更容易

HTML与此类似。在页面上加载带有“readmore”范围的p-tag之后的所有p-tag应该有一个类添加class =“afterReadmore”左右。

<div>
  <p>Some lorem ipsum text</p>
  <p>
    Some lorem ipsum text
    <span class="readmore">Click</span>  <-- look for this inside a p-tag
  </p>
  <p>Some lorem ipsum text</p>           <-- add class since after p-tag with the readmore span
  <p>Some lorem ipsum text</p>           <-- add class since after p-tag with the readmore span
  <p>Some lorem ipsum text</p>           <-- add class since after p-tag with the readmore span
</div>

我读到了似乎可用的nextAll函数。

2 个答案:

答案 0 :(得分:2)

.nextAll将有效:

$('.readmore').click(function() {
    $(this).closest('p').nextAll('p').addClass('show');
});

答案 1 :(得分:1)

$(function(){
    $('div').find('.readmore')
            .closest('p')
            .nextAll('p')
            .addClass('afterReadmore');
});

样本: http://jsfiddle.net/dirtyd77/4KFWU/1/


您还可以使用.index():gt()

$(function(){
    var index = $('div').find('.readmore').closest('p').index();
    $('div > p:gt(' + index + ')').addClass('afterReadmore');
});

样本: http://jsfiddle.net/dirtyd77/4KFWU/3/