Javascript 单选按钮所在的颜色单元格,并已选中,但单击时未选中

Javascript 单选按钮所在的颜色单元格,并已选中,但单击时未选中,javascript,jquery,Javascript,Jquery,在$(document).ready(function(){加载过程中,我试图通过检查是否选中了隐藏的单选按钮来为表格单元格着色。如果选中了,我需要突出显示表格单元格 我有以下代码: if($('#q1c').is(':checked')) { $(this).effect("highlight", {color: 'green'}, 1000); $(this).addClass("selected"); } 但这不起作用,因为它没有引用单选按钮所在的表格单元格,它使用的是

$(document).ready(function(){
加载过程中,我试图通过检查是否选中了隐藏的单选按钮来为表格单元格着色。如果选中了,我需要突出显示表格单元格

我有以下代码:

if($('#q1c').is(':checked')) { 
    $(this).effect("highlight", {color: 'green'}, 1000);
    $(this).addClass("selected");
}
但这不起作用,因为它没有引用单选按钮所在的表格单元格,它使用的是不正确的
this

以下代码基于单击时的
事件工作:

$('#rq1').on('click', 'td', function() {
   $(this).find('input:radio').prop('checked', true);
   $('.q1').removeClass("selected");
   $(this).effect("highlight", {color: 'green'}, 1000);
   $(this).addClass("selected");
});
我试图实现同样的效果,但在页面加载和单选按钮被预选时突出显示单元格

JS小提琴

利用下面的反馈,我试着实现以下内容,但没有乐趣


我想知道
最近的
是否正确-我正在努力弄清楚单选按钮和表格单元格之间是否存在允许
最近的
工作的关系?

问题是您将效果应用于复选框,而您应该将其应用于表格单元格。尝试这样做。找到复选框,然后应用y对复选框所在的TD的影响

if($('#q1c').is(':checked')) { 
    $(this).closest('td').effect("highlight", {color: 'green'}, 1000);
    $(this).closest('td').addClass("selected");
}
编辑

不能在此处使用,因为它指的是
窗口
,并且没有最近的。已针对需要最近元素的
id进行了更改

if ($('#q1c').prop('checked')) {
    $('#q1c').closest('td').effect("highlight", {color: 'green'}, 1000);
    $('#q1c').closest('td').addClass("selected");
}

谢谢你,学到了一些新东西!可惜,这不起作用。当页面加载时,它不会突出显示或添加类。没有错误消息。
c
-这是我为输入单选按钮准备的代码。你是否使用调试器检查过?如果执行了
中的代码,是否执行了
中的代码?尝试使用.prop('checked')而不是is(':checked')。我一直在玩-所以,我在里面放了一个
警报
,它会触发fine-
$(这个)。最近的('td')。addClass(“selected”);
没有-这是与父/子按钮有关-单选按钮是
td
的子按钮吗?那些
单选按钮是在页面加载时创建的吗?它们是通过.PHP页面创建的。