jquery $(this).parents('.cssClassName')只在IE中找到窗口,但在其他浏览器中有效

wer*_*zui 1 html javascript jquery internet-explorer

我有以下jquery代码:

 jQuery(function ($) {
    $(document).on('click', '.del', function () {
        var self = $(this);
        parent = self.parents('.transportRow');
        parent.remove();
    });
});
Run Code Online (Sandbox Code Playgroud)

当我点击带有"transportRow"类的div中的"del"类的链接时,应该删除div.

这在Webkit和Firefox中运行良好,但在IE中却没有

我收到一个错误,告诉我该对象不支持属性或方法"删除".

当我在调试器中检查它时,父似乎是窗口,而不是div元素.

有谁知道如何让这个脚本在IE中运行?

and*_*toi 5

parent没有的情况下使用时,var请参考global()对象上的全局变量parentaka parent属性window.

在IE中,window.parent属性是只读的(实际上它是属性的属性 [[Writable]]属性,设置为false或根本不设置).

改变行:

parent = self.parents('.transportRow');
Run Code Online (Sandbox Code Playgroud)

var parent = self.parents('.transportRow');
Run Code Online (Sandbox Code Playgroud)

应该做的伎俩.或者更改名称.

Crockford谈论这个问题并建议使用that而不是self.parent我也说这个建议也适用.