今天我一直在这里寻求帮助script。
成功完成了 - 再次感谢RKW。
我已将代码与我之前的代码合并,并且在FF下,everthing似乎运行良好。但是现在,我已经在Chrome,Safari(mac)和Opera下试用了它。 在Chrome和Safari中,脚本根本没有做任何事情(并且错误控制台保持清晰)。在opera下只有第一部分工作 - 添加了class active。
有什么建议吗?
$(document).ready(function(){
$('input').focus(function() { /* add class active to parent div */
$('div').removeClass('active');
$(this).parent().parent().parent().addClass('active');
$(this).closest("div").addClass('active');
});
$('input:radio').focus(function() { /* add class highlight to specified tds in one column */
var num = 2;
var col = $(this).closest('td').index() + 1;
var row = $(this).closest('tr').index();
var tds = $('td:nth-child(' + col + ')');
tds = tds.slice(row,row+num);
$('td').removeClass('highlight');
tds.addClass('highlight');
});
});
答案 0 :(得分:1)
我不太确定你要对你的突出显示类做什么(如它应该如何突出显示),但是,为了正确地将类应用于div,你需要进行一些更改。 / p>
您需要使用:
,而不是使用.focus()$('input').click(function()
和
$('input:radio').focus(function()
关于输入的一个注意事项:无线电是它必须使用jQuery的引擎来找到单选按钮,因为它不是标准的CSS2 / 3选择器。如果执行速度至关重要,请使用Thiago Santos'type ='radio'(因为CSS理解这一点,浏览器也是如此)。
我改变的另一件事是:
$('div').removeClass('active');
因为它没有在chrome中找到div,但是当我搞乱变换时在页面中做同样的事情,我发现所有使用.active类的元素并在设置$之前从所有元素中删除它们(this)带标签的元素。将其更改为:
$('.active').removeClass('active');
我也注意到你正在使用CSS'nth-child
,请注意,这不适用于IE8或更低版本(或怪异模式下的IE9)。
答案 1 :(得分:0)
在第二部分,尝试更改:
$("input:radio")...
到
$("input[type='radio']")...