在最后一个LI标记之前添加“LI”元素

时间:2011-06-19 17:45:33

标签: javascript jquery jquery-selectors

点击“添加评论”按钮后,我希望在结尾但最后<li> </li>之前添加<li>

参见代码:

<div class="newsComment">
  <ul class="CommentReplies">
     <li class="Heading">
       <h3> Comments </h3>
     </li>
      <li class="CommentRow"> Comment 1 </li>
      <li class="CommentRow"> Comment 2 </li>
      // ADD LI HERE WHEN CLICKING ON THE BUTTON
     <li class="CommentRow">
      <form id="FormAddComment">
       <input name="comment" type="text" />
       <input id="submit_AddNewsComment" type="submit" value="Add Comment" />
       </form>
     </li>
   </ul>
</div>


$("#FormAddComment").submit(function() {
    data =  $(this).serialize();
    //Add LI
    return false;
});

3 个答案:

答案 0 :(得分:4)

由于表单位于li内,请使用closest查找,然后before插入其中。

$("#FormAddComment").submit(function() {
    var $this = $(this);

    data =  $this.serialize();

    //Add LI
    $this.closest("li").before(
        "<li>New content</li"
    );

    return false;
});

答案 1 :(得分:3)

$(this).closest('.CommentRow').before($('<li />'));应该这样做。

答案 2 :(得分:0)

$("#FormAddComment")提交功能中,这将插入<li>

$(this).closest('.CommentReplies').find('li:last').prepend('<li>Comment 3</li>');