1

いくつかの .desc div を含むページがあります。これらの div 内の最後のパラグラフに html を追加したいと思います。

私はこれを試しました..

$(".desc p:last").append(" <span class='orange readMore'>Read More</span> <span class='orange readLess'>Read Less</span>");

ただし、これはページ全体のその div の最後の段落に追加するだけです。.desc div 内の最後の各パラグラフではありません。これが理にかなっているなら...

<div class="desc">

                <p>Description1</p> 
            </div>
<div class="desc">
                <p>Description2 <span class="orange readMore" style="display: inline; ">Read More</span> <span class="orange readLess" style="display: none; ">Read Less</span></p> 
        </div>
4

3 に答える 3

1
$(".desc").each(function(){
    $(this).find('p:last').append("<span class='orange readMore'>Read More</span> <span class='orange readLess'>Read Less</span>");
});

もしかしてこういうこと?

于 2012-06-08T11:19:54.437 に答える
1

:last-child代わりに次を使用する必要があります。

$(".desc p:last-child").append("Some stuff");

セレクターは常に、一致したセットをその:lastセットの最後の要素に減らします。1 つの要素のみを返します。

ドキュメントから:last-child(次の引用は正確な問題を完全に説明しています):

:last1 つの要素のみに一致しますが、複数の要素に一致:last-childする可能性があります。各親に 1 つです。

于 2012-06-08T11:20:18.117 に答える
0

これを試して:

$("div.desc').each(function () { $(this).find('p:last').after(" Read More Read Less"); });

于 2012-06-08T11:18:57.663 に答える