jQuery Countdown无法使用IE 8

Dhr*_*tel 5 jquery internet-explorer-8

我的网站中嵌入了一个倒计时.它在Mozilla/Chrome/IE9中运行良好,但不适用于IE 8.

http://jsfiddle.net/FVsGa/

$(function () {
    var ts = 1359647999000;

    if (ts > 1356524873000) {
        $('#countdown').countdown({
            timestamp: ts
        });
    }
});
Run Code Online (Sandbox Code Playgroud)

Sam*_*son 4

当您使用 jQuery 方法通过 HTML 字符串创建 DOM 元素时,Internet Explorer 8 的行为与其他现代版本的 IE9 略有不同。显然,在 IE8 中,您需要提供结束标记才能正确创建元素。

您正在使用的倒计时插件包含以下行:

$('<span class="count' + this + '">')
Run Code Online (Sandbox Code Playgroud)

这里请注意,span 元素不是封闭的。您有几个选择:

  1. 关闭该元素,或者
  2. 选择不同的方法

第一条路线非常不言自明:

$('<span class="count' + this + '"></span>')
Run Code Online (Sandbox Code Playgroud)

这将解决您在 IE8 中的问题。

第二种选择是采取不同的方法。我发现真正有吸引力的一个是使用 HTML/Props 签名,将属性作为第二个参数传递:

$('<span>', { "class" : "count" + this })
Run Code Online (Sandbox Code Playgroud)

这也解决了 IE8 中的问题。

我已经分叉并更正了代码,并发出了拉取请求,将更改拉回到原始存储库中,以造福其他人。