2012-09-20 43 views
0

我有一種情況,我需要在div.chat-msgs中插入div.msgJQuery:同時使用appendTo()和before()

<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

你可以只測試是否存在event

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

這是我只是想同樣的事情。哇。它爲我工作,謝謝。 –

1

可以使用insertBefore()方法,它是記錄here