jQuery if元素hasClass的var执行此操作

jQuery if element hasClass of var do this

本文关键字:执行 操作 var if 元素 hasClass jQuery      更新时间:2023-09-26

如果一个元素有一个等于变量的类,我想显示它,但我似乎无法使它工作。

我的代码:

HTML:

<a class="addme" title="showme" href="javascript:void(0)">hey</a>
<div class="list">
    <div class="hey">hide</div>
    <div class="hey showme">show</div>
    <div class="hey">hide</div>
</div>
<span></span>

JQUERY:

$(function(){
    $('div').hide();
    $('.addme').click(function (e) {
      e.preventDefault();
      var x = $(this).attr('title');
      if ($('.hey').hasClass(x))      
      {
        $('.list ' + '.' + x).show();
        $('span').html('.list ' + '.' + x)
      }
    })
});

JSFIDDLE链接

.showmediv实际显示,但.list是隐藏的,因为您使用:

$('div').hide();

您需要指定此选择器:

$('.list div').hide(); // e.g., can be a lot of things to work, depends on context

此外,您还有一些冗余代码:

$(function(){
    $('.list div').hide();
    $('.addme').click(function (e) {
      e.preventDefault();
      var x = $(this).attr('title');
      $('.list ' + '.' + x).show();
      $('span').html('.list ' + '.' + x)
    })
});

JSFiddle