jquery - jQuery.html() 在 IE7 和 IE8 上删除双空格的最佳解决方法是什么

标签 jquery html

假设你有代码:

<!DOCTYPE html>
<html>
<head>
    <title>jQuery.html() - bug on IE7 and IE8</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
    <script>
        $(function () {
            $("#list").html('<li>List  item  with  double  spaces.</li>');
            console.log("Does inner html contain double space? ", $("#list").html().indexOf("  ") != -1);
            console.log("Binded HTML:", $("#list").html());
        });
    </script>
</head>
<body>
    <ul id="list">
    </ul>
</body>
</html>

在 IE9、FF 上,Chrome 工作正常(将 html 与双代码绑定(bind)),但在 IE7 和 IE8 上,我将双空格转换为一个空格。比较不同浏览器上的控制台输出。

我不能改用 jQuery.text() 因为我必须使用 html 内容。

你遇到过这样的bug吗?您使用了什么解决方法?

最佳答案

即使使用正则表达式(如 /\s\s+/g),如您所说,在 IE 中,双空格也会使用 html() 转换为一个空格。

你必须像这样处理原始内容:

var content='<li>List  item  with  double  spaces.</li>';
$("#list").html(content);
console.log("Does inner html contain double space? ", content.indexOf("  ") != -1);

关于jquery - jQuery.html() 在 IE7 和 IE8 上删除双空格的最佳解决方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8308335/

相关文章:

javascript - jQuery - 根据条件禁用和启用 anchor 标记

php - 从 MySQL 读取值后,如何使用 PHP 根据其内容设置单元格背景颜色?

javascript - 使用网络技术的桌面原生应用程序

javascript - 如何根据值验证内容可编辑段落文本长度

javascript - 如何在 Highcharts 中保持 x 轴最大值不变?

javascript - 使用 ECMAScript 国际化 API 格式化日期和时间

javascript - 转.js : Responsive Design With a Double-Page Viewing Format Not Working

javascript - jQuery 动画无法正确滚动

javascript - 代码在 Safari 和响应式浏览器中无法正常工作

html - 为什么 margin top 在图像替换 Logo 上不起作用?