具有多个类的 jQuery 元素 : storing one class as a var

标签 jquery regex filter attr

我正在尝试创建一个标准化的显示/隐藏元素系统,如下所示:

<div class="opener popup_1">Click Me</div>
<div class="popup popup_1">I'm usually hidden</div>

点击带有 opener 类的 div 应该 show() 带有弹出类的 div。我不知道在任何给定页面上将有多少个开启器/弹出窗口组合,我不知道开启器和弹出窗口将在任何给定页面上的何处显示,而且我不知道如何给定的开启程序应该调用 show() 来处理许多弹出窗口。开启器和弹出窗口都必须能够拥有比 jQuery 使用的更多的类。

我想做的是这样的:

$(".opener").click(function() {
  var openerTarget = $(this).attr("class").filter(function() {
    return this.class.match(/^popup_([a-zA-Z0-9-_\+]*) ?$/);
  });
  $(".popup." + openerTarget).show();

这个想法是,当您单击 opener 时,它会从 opener 的类中过滤掉“popup_whatever”并将其存储为 openerTarget。然后将显示任何带有 class=popup 和 openerTarget 的内容。

最佳答案

$('.opener').click(function() {
  var openerTarget = this.className.match(/\bpopup_\w+\b/);
  $('.popup.' + openerTarget).hide();
}​);​

http://jsbin.com/ezizu3/edit

关于具有多个类的 jQuery 元素 : storing one class as a var,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2474465/

相关文章:

javascript - Uncaught ReferenceError : $ is not defined for . js,即使代码看起来一切正常

android - 通过从数据库填充的 ListView 进行搜索

java - 正则表达式捕获 2 个连续数字,但不捕获 3 个或更多数字

json - 执行自定义过滤器 UsernamePasswordAuthenticationFilter 后如何以编程方式返回 json 响应?

ios - Firebase查询WHERE

javascript - 在更改/删除另一个 div 时将图像添加到不同的 div

jquery - 如何在jqGrid列中显示不同的值

javascript - 按钮列表上的 onclick 事件无法使用 JQuery 工作

javascript - 没有空格,没有数字,一行验证?

java - 如何用正则表达式提取带有数字的文本后的数字?