javascript - 具有可变内容的 jQuery 选择器

标签 javascript jquery

我写了一小段 jQuery,它本质上是用来过滤内容的。当用户单击按钮(在本例中为 LI 元素)时,特定内容的可见性会“切换”。

$( "li:contains('Blog')" ).click(function() { // If a user clicks the "Blog" button
  $( ".Blog" ).toggle('slow') // Hide/Show all blog entries
});

这很有效,但并非所有条目都会成为博客 - 它是完全动态的。所以我需要一些类似的东西:

$( "li:contains('XYZ')" ).click(function() { // If a user clicks this button
  $( ".XYZ" ).toggle('slow') // Hide/Show all entries belonging to that button
});

本质上,如果有更好的写法:

$( "li:contains('Blog')" ).click(function() {
  $( ".Blog" ).toggle('slow')
  $(this).toggleClass( "secondary" )
});

$( "li:contains('Twitter')" ).click(function() {
  $( ".Twitter" ).toggle('slow')
  $(this).toggleClass( "secondary" )
});

$( "li:contains('Facebpok')" ).click(function() {
  $( ".Facebook" ).toggle('slow')
  $(this).toggleClass( "secondary" )
});

HTML

<ul class="button-group filter-button-group">
    <li class="button tiny">Blog </li>
    <li class="button tiny">Twitter </li>
    <li class="button tiny">Facebook </li>
</ul>

当前代码笔:http://codepen.io/anon/pen/RPZaNN

最佳答案

试试这个例子:

$( "li" ).click(function() {
          var elem=$(this);
          var txt=elem.html();
          $( "."+txt).toggle('slow');
          $(this).toggleClass( "secondary" )
});

关于javascript - 具有可变内容的 jQuery 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30837201/

相关文章:

javascript - onclick 移动表中的数据值

jquery - 为什么这不打开图像?

javascript - 使用 .match() 返回未定义的 0

javascript - 如何给动态创建的div添加JS函数?

javascript - MVC 远程验证后调用函数

javascript - 使用 Angular 动态生成的选择选项未选择默认值

javascript - 根据其他属性动态限制 TypeScript 中对象属性的类型

javascript - Chart JS 自定义工具提示选项?

javascript - 删除段落中的单个 br 但不删除双 br?

javascript - 为什么要转换 SpiderMonkey & JSC 中的字节码?