所以,我有一个包含消息的页面。我正在使用jQuery.load
(请求完全相同的页面)每隔X秒平滑刷新一次页面。
问题是,如果页面上有图像,则会重新加载。
基本上我想做的是仍然使用load
方法,但只更新已更改的元素。
是否可以将jQuery('.message-wrapper').first()
与jQuery('.message-wrapper').last()
进行比较,如果它们具有完全相同的结构/内容,则应返回true。现在,如果你比较2个HTML节点(所以JS,而不是jQuery),只有当它们是同一个元素时才会生效。
我想要检查的内容是否有所不同。
免责声明:我见过几个类似的问题,但没有一个有可行的解决方案。
答案 0 :(得分:4)
要比较元素的文字内容,您可以使用text()
,或者比较标记,请使用html()
:
$('.message-wrapper').first().text() == $('.message-wrapper').last().text()
要删除字符串之前和之后的空格(有时可能会出现问题),可以将其包装在jQuery的$.trim
方法中:
$.( $('.message-wrapper').first().html() ) === $.( $('.message-wrapper').last().html() )