Как найти div, который имеет соответствующие данные, а затем удалить класс

0

Вот моя попытка, которая, похоже, не работает:

$('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");


 });

Ошибка, которую я получаю:

"Uncaught ReferenceError: один не определен"

  • 1
    если контейнер - это класс, это должно быть $('.container') . Если это идентификатор, он должен быть $('#container')
  • 0
    возможный дубликат jQuery, как найти элемент на основе значения атрибута данных?
Показать ещё 1 комментарий
Теги:
class
jquery-selectors

2 ответа

0
Лучший ответ

Что нужно проверить:

  1. Является ли "контейнер" классом или идентификатором? Если это так, вам нужно добавить '.' или '#' соответственно
  2. То, что выражение в функции.find() возвращает то, что вы ожидаете

Можете ли вы разместить ссылку на JSFiddle или что-то еще?

У меня есть рабочий пример, который похож на вашу ситуацию.

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");
});
  • 0
    Я изменил его на $ ('. Page-wrapper'), но он все еще не работает, что еще я мог сделать ??
  • 0
    jsfiddle.net/sNp7x/2/#&togetherjs=etg9NKyOFe
Показать ещё 1 комментарий
0

Что-то вроде этого должно работать:

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

Посмотрите, как он работает здесь: http://jsfiddle.net/sNp7x/2/

Может быть, атрибут данных задается с помощью javascript, так что вам нужно знать о времени!

  • 0
    ошибка, которую я получаю, является "Uncaught ReferenceError: один не определен". Я понятия не имею, почему я получаю эту ошибку ...
  • 0
    нужно указать, как говорится в ошибке, вот так: var one = 'test'; $ ('. page-wrapper'). find ("[data-slider = '" + one + "']"). removeClass ('hidden');

Ещё вопросы

Сообщество Overcoder
Наверх
Меню