我在应用程序上有一个对话框功能我将这些消息输出为html div,如下所示:
chatBoxMessage
我想检查javascript中的最后一条消息,看看它是否与前一条消息相同,如果没有运行我现有的对话框代码则什么都不做。新的聊天消息存储在名为oldMsg = $('.chat-message').html();
if (oldMsg == chatBoxMessage) {
//do nothing
} else {
dialog code
}
的变量中。
我想我需要这样的东西 -
free :: (Functor t, Monad m) => (∀ a. t a → m a) → (∀ a. Free t a → m a)
答案 0 :(得分:2)
您可以使用jquery last方法:
oldMsg = $('.chat-message').last().html();
答案 1 :(得分:0)
var lastMessage = $('.chat-message').last();
var previousMessage = lastMessage.prev();
console.log(lastMessage.text() === previousMessage.text());
答案 2 :(得分:0)
您的oldMsg
变量包含类chat-message
的所有元素的数组。因此,此变量的更有意义的名称应为chatMsgs
var chatMsgs = $('.chat-message');
var msgsLen = chatMsgs.length;
现在你的oldMsg
将是。
var oldMsg = chatMsgs[msgsLen - 1].text(); // Remember array indexes are zero based
或者如果您认为数组操作太多,您可以使用更简单的last()
jQuery方法(正如@Shai指出的那样)。它的作用是返回元素数组中的最后一个元素。所以,
var oldMsg = $('.chat-message').last().text();
现在快乐地做好准备......
if ( oldMsg === chatBoxMessage ) {
// do nothing
}
else {
// dialog code
}