0

我正在使用一个 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>'

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

编辑 为澄清起见,我希望将“阅读更多”按钮作为最后一个列表项。

4

2 回答 2

1

你想要.append()

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

这会将 op.moreHTML 元素添加到任何 $(this) 上。如果您想变得更漂亮(如果出于某种原因, $(this) 不适用于您的代码)。

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

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

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

于 2013-01-29T15:10:38.873 回答
0

假设这this是你的<ul>元素,你想使用.append()而不是.after()

$(this).append(op.moreHTML);
于 2013-01-29T15:10:19.157 回答