javascript - 当值相同时 if 语句会重复

标签 javascript jquery

我有这个 Javascript/jQuery 代码:

for (i = 0; i < 100; i++) { 
    if(!(html == $("#chat-box").html()))
    {           
        $("#chat-box").html(html);
        console.log("a");
    }
}

我在 for 循环中迭代了 100 次。您可能会认为至少在第一次之后它会停止迭代,除非两个值之一发生更改(它们没有更改),但事实并非如此。我不知道为什么。我尝试使用 if(htm1 != ...) 但这不起作用。

最佳答案

我相信使用 text() 方法进行比较会解决问题:

 if(!(html == $("#chat-box").text()))
{           
    $("#chat-box").html(html);
}   

原因是 jQuery 处理文本以防止 html() 出现特殊字符问题,而与 text() 一样,它返回原始值。如果仍然不起作用,请使用 console.log() 输出两个方法返回值和比较变量,以便更好地可视化。

关于javascript - 当值相同时 if 语句会重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25655658/

相关文章:

javascript - 如何在 p5.js 中获得未失真的 2D Perlin 噪声作为图像?

javascript - 禁用按钮,直到单击一个单选按钮

javascript - 使用 jquery 添加和删除 Canvas 类

计算不起作用后javascript按钮禁用和启用

javascript - 当内容为 "injected"时,jQuery 模态窗口不居中

javascript - 在 JavaScript 文件中混合 JSF EL

javascript - 堆栈交换站点列表页面中的框重排算法

javascript - jQuery .append() 不同步?

javascript - 滑出侧工具栏

javascript - Jquery 单击按钮重新加载页面