使用jQuery在列表中的最后一个子项之后添加内容,而不是在整个列表之后

时间:2013-01-29 15:07:39

标签: jquery html

我正在使用jQuery插件自动最大化列表项,然后使用按钮最小化它们。

该插件为https://github.com/jawinn/Hide-Max-List-Items-Expander-jQuery-Plugin/blob/master/hideMaxListItem.js

该插件会自动在列表后添加“展开”按钮。我需要在列表中的最后一个子项后添加扩展按钮。此列表也是从数据库中的值生成的,并且无法编辑单个列表项。

moreHTML变量包含插入页面的HTML以创建“展开”按钮。

用于发送变量的代码:

$(this).after(op.moreHTML);

这是我传递的变量:

'moreHTML':'<li class="maxlist-more"><a href="#"></a></li>'

如何将“更多”按钮添加到列表中的最后一项而不是在整个列表后添加?

修改的 为了澄清,我想让“阅读更多”按钮成为最后一个列表项。

2 个答案:

答案 0 :(得分:1)

你想要.append()

$(this).append(op.moreHTML);

这会将op.moreHTML元素添加到$(this)中。如果你想要有点shmancier(如果由于某种原因,$(这)不适用于你的代码)。

var $list = $('#WhateverListNameIs'),
    $item = $list.find('li'),
    len = $item.length-1;

$item.eq(len).append(op.moreHTML);

未经测试,但我应该将HTML添加到最后一个列表项。如果在函数中完成,这也应该是动态的。

答案 1 :(得分:0)

假设this是您的<ul>元素,您希望使用.append()而不是.after()

$(this).append(op.moreHTML);