Javascript 此元素存在jquery问题

Javascript 此元素存在jquery问题,javascript,jquery,this,Javascript,Jquery,This,我有以下javascript代码: // Meldingen groen / oranje / rood $("#blokken .overzicht ul.melding li").hide(); $("#blokken .overzicht .matrix td.radio.groen :radio").change(function(){ $("#blokken .overzicht ul.melding li").hide(); $(this).parents("#blokken

我有以下javascript代码:

// Meldingen groen / oranje / rood
$("#blokken .overzicht ul.melding li").hide();

$("#blokken .overzicht .matrix td.radio.groen :radio").change(function(){
 $("#blokken .overzicht ul.melding li").hide();

 $(this).parents("#blokken .overzicht ul.melding li.groen").fadeIn(600);
});

$("#blokken .overzicht .matrix td.radio.oranje").click(function(){
 $("#blokken .overzicht ul.melding li").hide();
 $("#blokken .overzicht ul.melding li.oranje").fadeIn(600);

});

$("#blokken .overzicht .matrix td.radio.rood").click(function(){
 $("#blokken .overzicht ul.melding li").hide();
 $("#blokken .overzicht ul.melding li.rood").fadeIn(600);

});                
在我的HTML文档中,我有许多单选按钮。当用户单击单选按钮时,我想显示一个特定的
  • ,即,如果用户单击
    .groen
    单选按钮,则会显示
    li.groen
    ,以此类推。但当我现在单击单选按钮时,
    ul.melding
    下的所有
  • 元素都会显示出来。怎么了

    您真正应该做的是为所有单选按钮设置一个委托事件处理程序,然后从单选按钮类中找到相应的“li”

    $("#blokken").delegate('.overzicht .matrix td.radio input:radio', 'click', function() {
      $('#blokken .overzicht ul.melding li').hide();
    
      var checked = $('#blokken .overzicht .matrix td.radio input:radio:checked'),
        $td =  checked.parent('td.radio');
      $('#blokken .overzicht ul.melding li.' + $td.attr('class')).fadeIn(600);
    });
    
    现在,如果
    元素具有更复杂的“类”值,那么您必须以其他方式提取颜色

    (编辑我修正了一点-代码在“单击”时触发,然后重新发现当前选中的单选按钮。单选按钮在IE中可能会有问题,因为“更改”直到控件失去焦点才会触发。)


    (更多编辑-我今天需要更多咖啡,我想:-)

    我想看到标记也会有帮助。请更正[语法]你的问题,这是不可理解的。可能是一个在线的例子解释了更多关于你的问题。是的,HTML源代码是绝对必要的。也许您甚至可以通过删减jQuery选择器,删除那些多级选择器来简化问题。