我正在尝试创建一个标准化的显示/隐藏元素系统,如下所示:
<div class="opener popup_1">Click Me</div>
<div class="popup popup_1">I'm usually hidden</div>
单击带有 opener 类的 div 应该显示()带有弹出类的 div。我不知道在任何给定页面上我将有多少个开启器/弹出窗口组合,我不知道在任何给定页面上将显示开启器和弹出窗口的哪个位置,我不知道如何给定的开启者应该调用 show() 来处理许多弹出窗口。opener 和 popup 都必须能够拥有比 jQuery 使用的更多的类。
我想做的是这样的:
$(".opener").click(function() {
var openerTarget = $(this).attr("class").filter(function() {
return this.class.match(/^popup_([a-zA-Z0-9-_\+]*) ?$/);
});
$(".popup." + openerTarget).show();
这个想法是,当您单击打开器时,它会从打开器的类中过滤掉“popup_whatever”并将其存储为 openerTarget。然后将显示任何带有 class=popup 和 openerTarget 的内容。