【问题标题】:jQuery - appendTo previous / preceding elementjQuery - appendTo 前一个/前一个元素
【发布时间】:2012-04-22 01:02:11
【问题描述】:

我在这里找不到这个,希望有人能提供帮助。

我需要将链接 (.more) 附加到它之前的段落 - 我确信这很简单,但不能完全正确:

<p>Lorem ipsum</p>

<p>Lorem ipsum</p>

<p>Lorem ipsum</p>

<a href="#" class="more">Read more</a>

<p>Lorem ipsum</p>

最终的 HTML 中可能会有更多的段落,我需要这样做的原因是 CMS 相关的。但基于上述,我的目标是:

<p>Lorem ipsum</p>

<p>Lorem ipsum</p>

<p>Lorem ipsum <a href="#" class="more">Read more</a></p>

<p>Lorem ipsum</p>

我试过了:

$(".more").appendTo("p");

但显然这会将它附加到所有段落...也许这是 prevAll 的工作,但我不能完全确定它。

非常感谢您的帮助!

【问题讨论】:

    标签: jquery appendto


    【解决方案1】:

    HTML

    <p>Lorem ipsum</p>
    <p>Lorem ipsum</p>
    <p>Lorem ipsum</p>
    <a href="#" class="more">Read more1</a>
    <p>Lorem ipsum</p>
    <a href="#" class="more">Read more2</a>
    

    JS

    $('p').each(function(e){
        if($(this).next('a').hasClass('more'))
           $(this).html($(this).html()+" ").append($(this).next('a')); 
    });​
    

    Example1Example2 with multiple a tags.

    【讨论】:

      【解决方案2】:

      尝试使用

      var more = $(".more");
      more.prev().append(" ").append(more);
      

      【讨论】:

      • 当然$(".more") 会捕获所有具有“更多”类的元素,但它适合给定的示例
      • 我想只是想让你注意到。
      猜你喜欢
      • 1970-01-01
      • 2014-01-30
      • 1970-01-01
      • 2021-04-14
      • 2011-10-24
      • 1970-01-01
      • 2016-03-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多