附加到第二个到最后一个李

Mat*_*iby 9 jquery

好的,所以我有这个HTML结构,我需要继续li在test3之后添加一个新的...等等...在表单之前li.我知道如何做追加逻辑,jquery但我如何隔离并确保我可以继续这样做....也许使用实时函数.

<td class="resources_present">
<ul>
    <li><a href="http://test.com">http://test.com</a></li>
    <li><a href="http://test2.com">http://test2.com</a></li>
    <li><a href="http://tes3.com">http://test3.com</a></li>
<li><form method="post" id="new_resource" class="new_resource" action="/resources" accept-charset="UTF-8"><div style="margin: 0pt; padding: 0pt; display: inline;"><input type="hidden" value="?" name="utf8"><input type="hidden" value="BEeMlTtPiMi8mv/whQ2z757CTTOnNl0oiPpN3WdqSBg=" name="authenticity_token"></div>
  <div class="field">
    <input type="text" size="30" name="resource[url]" id="resource_url">
    <input type="hidden" value="5" name="resource[course_id]" id="resource_course_id">
  </div>
  <div class="actions">
    <input type="submit" value="Create" name="commit" id="resource_submit" style="display: inline;">
        <img class="noShow" src="/images/spinner.gif" style="display: none;">
  </div>
</form></li>
</ul>
</td>
Run Code Online (Sandbox Code Playgroud)

基本上我需要找到添加它的选择器:

    <li><a href="http://test4.com">http://test4.com</a></li> // after the 

            <li><a href="http://test3.com">http://test3.com</a></li> // and continue to do that with 5, 6 , 7, and so on
Run Code Online (Sandbox Code Playgroud)

Alf*_*TeK 15

许多方法可以做到这一点.这是一个:

$('li:last').prev();
Run Code Online (Sandbox Code Playgroud)

并添加:

$('li:last').prev().after('<li><a href="http://test4.com">http://test4.com</a></li>');
Run Code Online (Sandbox Code Playgroud)

  • 在格式良好的HTML中,li的prev元素应该是li,不是吗?(除非列表只有1个元素,这不是示例HTML) (3认同)

Dam*_*amp 8

$("#yourselectorid li").eq(-2) 应该做的伎俩

编辑

假设你已经有至少2个<LI>(一个是表格)