Javascript 此元素存在jquery问题
我有以下javascript代码: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
// 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选择器,删除那些多级选择器来简化问题。