Javascript jquery$(this).parents(';.cssClassName';)只在IE中找到窗口,但在其他浏览器中也可以使用
我有以下jquery代码:Javascript jquery$(this).parents(';.cssClassName';)只在IE中找到窗口,但在其他浏览器中也可以使用,javascript,jquery,html,internet-explorer,Javascript,Jquery,Html,Internet Explorer,我有以下jquery代码: jQuery(function ($) { $(document).on('click', '.del', function () { var self = $(this); parent = self.parents('.transportRow'); parent.remove(); }); }); 当我在类为“transportRow”的div中单击类为“del”的链接时,应该删除该div 这在
jQuery(function ($) {
$(document).on('click', '.del', function () {
var self = $(this);
parent = self.parents('.transportRow');
parent.remove();
});
});
当我在类为“transportRow”的div中单击类为“del”的链接时,应该删除该div
这在Webkit和Firefox中运行良好,但在IE中不起作用
我得到一个错误,告诉我对象不支持属性或方法“remove”
当我在调试器中检查它时,父元素似乎是窗口,而不是div元素
有人知道如何在IE中运行此脚本吗?当您在不使用
var
的情况下使用parent
时,您引用全局(window
)对象上的全局变量parent
属性
在IE中,属性是只读的(实际上是属性的[[Writable]]
被设置为false
或根本没有设置)
更改行:
parent = self.parents('.transportRow');
到
我们应该做到这一点。或者改名
Crockford谈到了这个问题,并建议使用
that
而不是self
。这个建议也适用于parent
我说。当您在不使用var
的情况下使用parent
时,您引用全局变量parent
a.k.a.全局(窗口
)对象上的parent
属性
在IE中,属性是只读的(实际上是属性的[[Writable]]
被设置为false
或根本没有设置)
更改行:
parent = self.parents('.transportRow');
到
我们应该做到这一点。或者改名
Crockford谈到了这个问题,并建议使用
that
而不是self
。我说,这个建议也适用于parent
。尝试将self
更改为其他名称,在JavaScript中,self
是window
@ranganadh,但情况并非总是如此self
可以设置为任何值。通常,您会看到var self=this代码>。在这种情况下,self
基于此
的当前上下文。它可以是窗户,但不一定是。请参阅答案以供参考…请选择哪个版本…您是否尝试过记录self
和parent
?尝试console.log(self)
和console.log(父级)
查看值包含的内容。奇怪的是,这似乎解决了它:var parent=self.parents('.transportRow')代码>(已测试IE10)编辑:看起来像全局父级变量引用IE10上的窗口(其他???)尝试将self
更改为其他名称,在JavaScript中,self
是Window
@ranganadh,但情况并非总是如此self
可以设置为任何值。通常,您会看到var self=this代码>。在这种情况下,self
基于此
的当前上下文。它可以是窗户,但不一定是。请参阅答案以供参考…请选择哪个版本…您是否尝试过记录self
和parent
?尝试console.log(self)
和console.log(父级)
查看值包含的内容。奇怪的是,这似乎解决了它:var parent=self.parents('.transportRow')代码>(测试过的IE10)编辑:看起来像是全局父级
变量指的是IE10上的窗口(其他???+1)提到即,尽管上面的注释解释了使用self的合法性;我看不出有什么理由把自己和代码放在这样一种情况下:通过JavaScript的古怪作用域,它仍然“可能”成为一个问题(尽管这完全是一种偏好)+1提到,
,尽管上面的评论解释了使用self的合法性;我看不出有什么理由把自己和代码放在这样的情况下:通过JavaScript的古怪作用域,它仍然“可能”成为一个问题(尽管这完全是一种偏好)