我有一组DOM元素,仅在用户选中控制复选框时才显示.所有这些项都有一个共同的类,并且最初是隐藏的:
.spec { display:none; }
在复选框的点击处理程序中,我最初有以下内容,
对于现有元素来说效果很好.但是,这些表是通过AJAX动态生成的,并且当使用“ spec”类添加新元素时,如果选中此复选框,则不会显示它们.
// Basic jQuery show/hide
if (btn.checked)
$('.spec').show();
else
$('.spec').hide();
因为在我的情况下,这是在同一个JS模块中,所以在添加到DOM之后,我总是可以重新执行此代码.但总的来说,可能并非如此,所以我的问题是:
由于jQuery show / hide函数会更改element.style而不是
样式对象本身,我最终写了一个jQuery插件来更改
样式表,它工作正常,但似乎已被淘汰,因此成为问题.
var nval = btn.checked ? '' : 'none';
$.styleSheet('.spec','display',nval );
最佳答案
您应将一个类添加到< body> (或其他父元素),然后通过jQuery切换该类.
原文链接:https://www.f2er.com/jquery/530939.htmlCSS:
body.spec_is_hidden .spec {
display: none;
}
JS:
if (btn.checked)
$('body').addClass('spec_is_hidden');
else
$('body').removeClass('spec_is_hidden');