【发布时间】:2012-06-15 11:25:53
【问题描述】:
我在使用 Ubuntu 的最新 Mozilla Browser 13.0 时遇到了一个奇怪的问题。该代码在其他浏览器和以前版本的 mozilla 中都能完美运行。
这是代码
$(document).click(function(event) {
var target = $(event.target);
if (!target.attr('class').match(/^RefineClick/) && target.parents('.RefineClick').length == 0) {
jQuery('.RefineClick').fadeOut();
}
});
我收到以下错误: Target.attr('class').... 未定义
【问题讨论】:
-
你为什么选择这种方式而不是使用 jQuery 的选择器?
-
用
hasClass方法代替正则表达式的精彩代码怎么样? -
试试
var target = $(event.target || e.srcElement);。 @VisioN 我认为hasClass在涉及多个类时不准确,如果我错了,请纠正我。 -
@jSang 你错了。它应该可以正常工作。
-
除了
.hasClass不会匹配 RefineClick1,例如他的匹配方法。
标签: javascript jquery html firefox cross-browser