2012-09-20 25 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