选择任何单选按钮后,我需要div失去其样式。

当前样式为:

#packages-and-payment{
    opacity: 0.4;
    pointer-events:none;
}


我需要除去不透明性,并且指针事件才能再次起作用。我一直在jQuery中尝试此操作:

$(function() {

if ( $('input:radio:checked').length > 0 ) {
    $( '#packages-and-payment' ).css( "opacity", "0" );
    $( '#packages-and-payment' ).css( "pointer-events", "" );
}

});


但是它不起作用吗?

我做错了什么,还是有更好的解决方案?

我需要去除不透明性,以便完全可见。

编辑

这是一个小提琴:

http://jsfiddle.net/t9edq74u/

最佳答案

opacity设置为0将使该元素完全不可见。如果要使其可见,则需要将不透明度设置为1:

$( '#packages-and-payment' ).css( "opacity", "1" );


同样地,将pointer-events属性重置为其初始值,您需要将其设置为“自动”(实际上,将其设置为“”等同于将其设置为false,这被解释为“无”)。 ):

$( '#packages-and-payment' ).css( "pointer-events", "auto" );


同时设置两者的更好的方法是将对象传递给jQuery的css()方法:

$( '#packages-and-payment' ).css({
    opacity: 1,
    pointerEvents: 'auto'
});


要在选中单选按钮时触发此操作,您需要使用事件处理程序:

$('input:radio').on('change', function() {
    if ($('input:radio:checked').length > 0)
        ...
});

09-25 17:04