为什么这个jQuery代码在Firefox中工作,而不是Chrome或Safari ?
Why does this jQuery code work in Firefox but not Chrome or Safari?
我使用jQuery突出显示(通过改变bg颜色)一些表格单元格。我希望按钮(一个简单的锚)被给予类名"选定"时,单击,我希望某些表单元格下面的按钮突出显示。当您再次单击同一按钮时,它将取消选择并删除表格单元格中的高亮部分。当你点击一个不同的按钮时,它会删除其他的高亮显示,并切换到新的合适的。
这些在Firefox中都可以完美地工作。当我在webkit浏览器中尝试它时,它没有。我不知道为什么,这让我发疯了!jQuery代码如下所示。你可以在
看到这个页面http://byegurl.com/scores.html$(function(){
$(".press").click(function() {
id = $(this).attr("id");
name = $("." + id);
if ($(this).hasClass('selected'))
{
$(this).removeClass('selected');
$(name).removeClass('highlight');
} else {
$('.press').removeClass('selected');
$("td:not(name)").removeClass('highlight');
$(this).addClass('selected');
$(name).addClass('highlight');
}
return false;
});
});
我很感激你的帮助! 变化:
id = $(this).attr("id");
name = $("." + id);
:
var id = $(this).attr("id");
var name = $("." + id);
也就是说,用var
声明变量,使它们具有局部作用域。如果没有var
,变量具有全局作用域,并且与某些内容相冲突。
它现在可以在Chrome/Safari: http://jsbin.com/efilok/
可以解决这个问题的一些方法:
name
已经是一个jQuery对象。将这一行改为:
name.removeClass('highlight');
和
name.addClass('highlight');
另外,我推荐event.preventDefault()
而不是return false;
,如下所示:
$('.press').click(function(event) {
// ...
event.preventDefault();
});
显然name
被chrome用于其他目的。如果你有你的name
变量不是一个全局变量,即。var name
而不是name
,那么它可能会工作。不过我要用一个不同的变量名
相关文章:
- JS代码在jsbin中有效,在jsfiddle或Chrome/Safari中无效
- JQuery图像大小计算没有'不能在Chrome/Safari中工作
- 在Chrome/Safari中使用History.pushState重复历史记录条目
- getComputedStyle报告Chrome / Safari / Firefox和IE11之间的不同高度
- 下载画布图像 png Chrome/Safari
- jquery javascript chrome/safari issue
- 外部js click函数在Chrome / Safari中不起作用
- Javascript FF Slow Chrome/Safari FAST
- 创建 Chrome/Safari 扩展程序的先决条件
- Ajax 调用在 chrome/safari 中工作,但在 ff 和 ie 中失败
- Ajax在Chrome / Safari中提交作品,但不能在Firefox / IE中提交作品
- JQuery easySlider 在 Chrome/Safari 中不起作用
- Using onafterprint in Chrome & Safari
- 有了弹性弹跳,Chrome/Safari知道我的手指何时离开触控板.JS知道吗
- 导航栏在移动上折叠,滚动chrome/safari
- Chrome/Safari(webkit)中的JQuery Overlay无法进行更改
- 代码与Firefox一起工作,但不与Chrome, Safari
- jquery脚本不工作在chrome, safari和部分opera, FF是可以的
- 如何在webkit浏览器(chrome/safari)中以编程方式打开新选项卡
- 在Chrome/Safari中剥离表:tr:n -child td的bug