如何在下拉列表中的最后一个li之前追加

时间:2009-10-01 05:14:47

标签: jquery

我正在使用以下表单构建器(http://dontlink.me/formbuilder/)并对其进行大量更改以按照我想要的方式工作。

我希望它做的一件事是当你添加一个新的表单字段时,我希望该表单字段放在列表的底部......此时它们被放在顶部。

这是将新li添加到列表中的代码...我已将其简化为实际添加的部分......

var result = '<li>The new form field code goes here....</li>';
var into = $("#form_builder_panel ol");
$(into).prepend(result);

出于某种原因,默认情况下,他们会在代码中添加“li”标签,并为其提供一个“last-child”类。

<div id="form_builder_panel">
<form method="post" action="preview.php" class="fancy">

    <fieldset class='sml'>
        <legend>Built Form</legend>
        <ol>
            <li class="last-child"></li>
        </ol>
    </fieldset>

现在我尝试将第三行代码更改为以下内容:

$(into).append(result);

但是那会把'last-child'li放在最顶层并且脚本停止工作......

所以我的问题是,如何制作它以便将新的li添加到列表中但是将其添加到“last-child”li之上?

希望我有道理:)

2 个答案:

答案 0 :(得分:7)

怎么样?

before function

  

在每个之前插入内容   匹配的元素。

$(".last-child").before(result);

如果你想每次将它作为最后一个li添加,那么从li中删除“last-child”类并使用{/ 3}}选择器,如

$(".sml li:last-child").after ( result );

答案 1 :(得分:0)

$(into).innerHtml = result;有效吗?