jQuery追加/前置在Edge中不起作用?

时间:2018-08-14 18:09:09

标签: jquery

这段代码获取TH(.table-dates)的内容,并将其移动到它下面的TD(.table-times)内的一个span(.date-span)。

除了旧版本的Edge以外,它在所有其他方面都很好用,而最新版本实际上很好。任何人都知道为什么会是这种情况吗?我的研究进展甚微。跨度只是空的!

$(".table-dates").each(function(i,e) {
    var elem = $("<span/>").append($(e).html());
    $("table").find(".table-times .date-span")[i].prepend(elem.html());
});

1 个答案:

答案 0 :(得分:1)

(大概是无意中)您依赖具有prepend方法的DOM元素,因为您正在使用find[i]索引到jQuery对象,然后调用{ {1}}直接对此:

prepend

像这样对jQuery对象建立索引将为您提供该索引处的原始元素(而不是jQuery对象)。您应该在控制台中遇到一个错误,关于$("table").find(".table-times .date-span")[i].prepend(elem.html()); // Here ----------------------------------^^^^^^^^^^^ 失败时不起作用。

prepend method上的ParentNode interface很新。显然,早期版本的Edge不支持它。

要改为使用jQuery的prepend,请使用prepend代替eq(i)

[i]