繁体   English   中英

jQuery返回的字符串与另一个字符串的比较

[英]Comparing jQuery returned string with another string

我正在尝试比较jQuery返回的字符串(由msg.d访问)和另一个字符串。 这是我目前所做的,但似乎并不奏效,并说每次都不相等:

setTimeout(ReloadChatMsgs, 1000);
function ReloadChatMsgs() {
    var msgs = document.getElementById("msgs_list");
    $.when($.ajax({
        type: "POST",
        url: 'Login.aspx/ReloadChatMsgs',
        data: '{}',
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {
            if (msgs.innerHTML != msg.d.toString())
                msgs.innerHTML = msg.d;
        },
        failure: function (e) {

        }
    })).then(function () { setTimeout(ReloadChatMsgs, 1000); });
}

如果要比较两个字符串而不论大小写

  1. 修剪两个琴弦
  2. 将它们都转换为小写

码:

if ($.trim(msgs.innerHTML.toLowerCase()) != $.trim(msg.d.toString().toLowerCase()))
    msgs.innerHTML = msg.d

希望这可以帮助

我刚刚检查了msg.dmsgs.innerHTML两个值,它们有些不同,因为msgs.innerHTML已经被解析为HTML代码(例如空格)。 我通过将最后一个msg.d保存在其他var中来解决此问题,并使用它进行了比较。

var last_msgs_set = "";
setTimeout(ReloadChatMsgs, 1000);
function ReloadChatMsgs() {
    var msgs = document.getElementById("msgs_list");
    $.when($.ajax({
        type: "POST",
        url: 'Login.aspx/ReloadChatMsgs',
        data: '{}',
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {
            if (last_msgs_set != msg.d) {
                msgs.innerHTML = msg.d;
                last_msgs_set = msg.d;
            }
        },
        failure: function (e) {

        }
    })).then(function () { setTimeout(ReloadChatMsgs, 1000); });
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM