如何将html附加到jquery中类的最后一段?

时间:2012-06-08 11:17:04

标签: jquery

我有一个包含几个.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中的最后一个paragrapgh。如果这是有道理的......

<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>

3 个答案:

答案 0 :(得分:1)

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

这样的事可能吗?

答案 1 :(得分:1)

您应该使用:last-child代替:

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

:last选择器将始终将匹配的集合减少到该集合中的最后一个元素。它只会返回一个元素。

来自:last-child的文档(以下引言完美地描述了您的确切问题):

  

虽然:last只匹配一个元素,但:last-child可以匹配更多元素   不止一个:每个父母一个。

答案 2 :(得分:0)

试试这个:

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