jQuery如果元素hasClass为var,请执行此操作

时间:2014-09-13 18:35:10

标签: javascript jquery

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

我的代码:

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 LINK

1 个答案:

答案 0 :(得分:0)

实际显示.showme div,但隐藏.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