如何使用jquery添加元素始终作为最后一个元素?

时间:2011-08-12 05:52:33

标签: jquery jquery-selectors

我希望将某个div添加为列表中的最后一个元素,无论如何。有什么办法可以明确指出这个吗?

5 个答案:

答案 0 :(得分:14)

$('#list').append('<div></div>')会将其附加到#list

的最后

如果你想将它追加到最后一个div,只要在那之后还有其他元素,那么你可以使用$('#list div:last').after('<div></div>')

答案 1 :(得分:11)

获取列表的父级,并将新项目添加到该父级作为最后一个子级。

使用普通的javascript:

parent.appendChild(newElement);

Mozilla文档:https://developer.mozilla.org/En/DOM/Node.appendChild

如果你想添加其他物品并且仍然将此物品作为最后一项,那么你必须在最后一项之前添加新物品或删除此物品,追加你的新物品,然后再将其追加到结束。

一旦你已经拥有列表中的最后一个元素,如果你想在最后一个元素之前添加一个新元素,你可以这样做:

parent.insertBefore(newElement, parent.lastChild);

答案 2 :(得分:2)

如果你想要绝对确保这一点,请在空容器中放置一个ID并在需要更新日期时替换内容,所以如果你有一个大容器,然后在子容器内,最后一个孩子应该是像这样

<强> HTML

<div id="parent">
    <div id="child1"></div>
    <div id="child2"></div>
    <div id="child3"></div>

    <div id="LastChild"></div>
</div>

现在如果你需要更新,

<强>的jQuery

var newcontent = '<p id="newcontent">I am the new content</p>';
//Build your content as html or plain text 

$('#LastChild').html(newcontent); //Replace old content in last child div with new

现在,如果您希望保留上一个子div的旧内容并在下面插入新内容,则可以执行以下操作

var newcontent = $('#LastChild').html();
var newcontent += '<p id="newcontent">I am the new content</p>';

$('#LastChild').html(newcontent);

或者,如果你想在最后一个子div中保留旧内容,但是在旧版本的顶部或之前显示新内容,你可以像这样交换var newcontent的顺序

var newcontent = '<p id="newcontent">I am the new content</p>';
var newcontent += $('#LastChild').html();

$('#LastChild').html(newcontent);

答案 3 :(得分:1)

这对我有用。

$("#content div").last().append("<p>LAST ELEMENT!</p>");

答案 4 :(得分:-1)

当你谈论列表时,我会假设你指的是无序列表。

你需要这样的东西:

$('ul').append('<li>Bottom list-item</li>');