如何找到具有匹配数据attr的div然后删除class

时间:2014-05-08 21:44:48

标签: javascript jquery class jquery-selectors

这是我的尝试似乎不起作用:

$('container').find("[data-slider='" + one + "']").removeClass('hidden');

这是包含在文档中的完整函数。准备好的功能

$("#service-icon").on('click', function(){

       var $this = $(this);
       event.preventDefault();

       $this.addClass('ease-transition').toggleClass('active-slider-btn');

       $(".page-wrapper").find("[data-slider='" + one + "']").toggleClass("hidden");


 });

我得到的错误是:

  

“未捕获的ReferenceError:未定义一个”

2 个答案:

答案 0 :(得分:0)

要检查的事项:

  1. `容器`是一个类还是id?如果是这样,你需要分别添加一个`.`或`#`
  2. `.find()`函数中的表达式返回您期望的内容
  3. 您可以发布指向JSFiddle的链接吗?

    I have a working example here与您的情况相似。

    HTML

    <div class="container">
        <div data-slider="1" class="hidden">1</div>
        <div data-slider="2">2</div>
    </div>
    
    <button id="show-1">show slider 1</button>
    

    CSS

    .hidden {
        display: none;
    }
    

    的JavaScript

    var one = "1";
    
    $("#show-1").click(function(e){
        $(".container").find("[data-slider='" + one + "']").removeClass("hidden");
    });
    

答案 1 :(得分:0)

这样的事情必须起作用:

   $('.page-wrapper').find("[data-slider='" + one + "']").removeClass('hidden');

在此处查看:http://jsfiddle.net/sNp7x/2/

也许数据属性也是通过javascript设置的,所以你必须知道时间吗?!