JQuery:同时使用appendTo()和before()

时间:2012-09-20 05:00:41

标签: javascript jquery

我有一种情况是我要在div.msg中插入div.chat-msgs

<div class="chat-msgs">
  <div class="msg me">How are u?</div>
  <div class="msg">Good, Thanks..</div>
</div>

使用$('div.msg').appendTo($('div.chat-msgs'))会很简单。

问题发生在某些时候,我有一些关于

等事件的其他div个问题
<div class="chat-msgs">
  <div class="msg me">How are u?</div>
  <div class="msg">Good, Thanks..</div>
  <div class="event">XYZ is typing a message</div>
</div>

我想要的是,如果有任何消息进入div.chat-msgs,它将位于底部但位于div.event之上。

<div class="chat-msgs">
  <div class="msg me">How are u?</div>
  <div class="msg">Good, Thanks..</div>
  <div class="msg">This is a new message</div>
  <div class="event">XYZ is typing a message</div>
</div>

所以我想知道我们是否可以同时使用.appendTo().before()

2 个答案:

答案 0 :(得分:2)

您可以测试event是否存在:

if ($('div.chat-msg').find('.event').length) {
  // exists, use before
} else {
  // doesn't exist, use append
}

答案 1 :(得分:1)

您可以使用insertBefore()

记录的{{1}}方法