@Domtor
Начинающий

Как правильно получить элемент при нескольких вложенностях jQuery?

Есть блоки, к которым нужно применить стили с анимацией, но не получается обратиться к определенному классу элемента посредством this

HTML код (Таких блоков - слайдов несколько):
<div class="slider-slide">
		<div class="inSlide">
				<img src="img/rosgostrah.png" alt="name orgainsation"><br>
				<div class="desc-org hidden opacity_n">
					<h3>Росгосстрах</h3>Страховая компания
				</div>
				<div class="desc-slide hidden opacity_n">
					<div class="name-org">
						<span>Заказчик:</span> <h2>"Росгосстрах"</h2>
					</div>
					<span>Реализованная задача:</span> наблюдение за посетителями.<br>
					<div class="margin-slider-text"></div>
					<span>Установленное оборудование:</span> 5 видеокамеры<br>
					<div class="margin-slider-text"></div>
					<span>Срок реализации:</span> 1 день 
				</div>
		</div>
</div>


JS код:
//Нахожу все дочерние элементы
                $sliders = $('.slider-line').children();
//Прохожу по всем дочерним элементам
		$sliders.each(function(index) {
			if (index == 2) {
//Вычисляю ширину блока
				$width_1 = $slider / 100 * 35.01;
//Анимированно задаю ширину блока 
				$(this).animate({width: $width_1+"px"}, 500, function() {
//После завершения анимации, у данного блока ищу элемент с классом "desc-slide"
					$(this).find('.desc-slide').show(500, function () {
//После завершения анимации, у элемента с классом "desc-slide" удаляю класс "hidden", но удаления не происходит
						$(this).find('.desc-slide').removeClass("hidden");
					});
				});
		});
  • Вопрос задан
  • 133 просмотра
Решения вопроса 1
@timokins
Занесите this в какую-либо переменную и далее уже работайте с последней, если есть несколько вложенных областей видимости.

// как-то так
$sliders.each(function(index) {
   var self = this;
   $(self).animate({}, 0, function() {
      $(self).find();
   });
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы