gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 10:54:56 25 4
gpt4 key购买 nike

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

 .spec { display:none; }

在复选框的点击处理程序中,我最初有以下内容,这对现有元素很好用。但是,表格是通过 AJAX 动态生成的,当使用“spec”类添加新元素时,选中复选框时不会显示它们

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

因为在我的例子中这是在同一个 JS 模块中,所以我总是可以在添加到 DOM 后重新执行这段代码。但总的来说,这可能不是真的,所以我的问题是:

解决此问题的常规 jQuery 方法是什么?

由于 jQuery 显示/隐藏函数改变了 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');

关于javascript - 动态创建的 DOM 元素的持久显示(隐藏/显示)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1627509/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com