javascript-动态创建的DOM元素的持久显示(隐藏/显示)?

前端之家收集整理的这篇文章主要介绍了javascript-动态创建的DOM元素的持久显示(隐藏/显示)? 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一组DOM元素,仅在用户选中控制复选框时才显示.所有这些项都有一个共同的类,并且最初是隐藏的:

 .spec { display:none; }

在复选框的点击处理程序中,我最初有以下内容,
对于现有元素来说效果很好.但是,这些表是通过AJAX动态生成的,并且当使用“ spec”类添加新元素时,如果选中此复选框,则不会显示它们.

// Basic jQuery show/hide
if (btn.checked)
    $('.spec').show();
else
    $('.spec').hide();

因为在我的情况下,这是在同一个JS模块中,所以在添加到DOM之后,我总是可以重新执行此代码.但总的来说,可能并非如此,所以我的问题是:

解决此问题的普通jQuery方法是什么?

由于jQuery show / hide函数会更改element.style而不是
样式对象本身,我最终写了一个jQuery插件来更改
样式表,它工作正常,但似乎已被淘汰,因此成为问题.

var nval = btn.checked ? '' : 'none';
$.styleSheet('.spec','display',nval );
最佳答案
您应将一个类添加到< body> (或其他父元素),然后通过jQuery切换该类.

CSS:

body.spec_is_hidden .spec {
  display: none;
}

JS:

if (btn.checked)
    $('body').addClass('spec_is_hidden');
else
    $('body').removeClass('spec_is_hidden');
原文链接:https://www.f2er.com/jquery/530939.html

猜你在找的jQuery相关文章