0

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

  • 在单个 div 中有多个 p-tags
  • 其中一个 p-tag 以“readmore”链接结尾,可能是一个包含类的跨度
  • 需要为同一 div 中的所有以下 p-tag 添加一个类
  • 您可以自由添加额外的类,使解决方案更容易

HTML 与此类似。在页面加载带有“readmore”跨度的 p-tag 之后的所有 p-tags 应该添加一个类 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 函数。

4

2 回答 2

2

.nextAll将工作:

$('.readmore').click(function() {
    $(this).closest('p').nextAll('p').addClass('show');
});
于 2013-07-13T00:25:36.017 回答
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/

于 2013-07-13T00:31:42.243 回答