Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.06.2015, 14:44
Аспирант
Отправить личное сообщение для failure Посмотреть профиль Найти все сообщения от failure
 
Регистрация: 21.07.2013
Сообщений: 40

выбрать дочерний элемент в функции $.each()
Добрый день.
Помогите исправить ошибку в следующей задаче.

Есть элементы <div> с одним классом (.classname). Необходимо выбрать каждый из этих <div>, поставить на них обработчик события (в примере .hover() ), а в функции обработчика найти дочерний от верхнего <div> элемент с заданным классом, и с ним уже работать.

Пример:
<div class="classname">
   <div class="class1"></div>
   <div class="class2"></div>
   <div class="class3"></div>
</div>

<div class="classname">
   <div class="class1"></div>
   <div class="class2"></div>
   <div class="class3"></div>
</div>


Пробовал так, не работает.
$.each($('.classname'), function() {
   $(this).hover(function() {
      $($(this).children(".class1"), $(this).children(".class2")).toggle();	 
   }, function() {
      $($(this).children(".class1"), $(this).children(".class2")).toggle();
   });
});

Если не использовать функцию $.each(), то работает только для 1-го <div>.
Пробовал $(this).children(".class1") и $(this).children(".class2") заменять переменными, тоже не работает.

Есть ли решение, кроме добавление новых классов нужным элементам?
Ответить с цитированием
  #2 (permalink)  
Старый 04.06.2015, 15:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

failure,
непонятное описание ... что хотите неизвестно

<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  .classname  .class1, .classname  .class2 {
    display: none;
  }

  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
     $(function(){
       $('.classname').hover(
       function() {
      $(".class1, .class2", this).toggle()
   }
       )
});


  </script>
</head>

<body>
<div class="classname">
   <div class="class1">1</div>
   <div class="class2">2</div>
   <div class="class3">3</div>
</div>

<div class="classname">
   <div class="class1">11</div>
   <div class="class2">22</div>
   <div class="class3">33</div>
</div>

</body>

</html>
Ответить с цитированием
  #3 (permalink)  
Старый 04.06.2015, 23:19
Аспирант
Отправить личное сообщение для failure Посмотреть профиль Найти все сообщения от failure
 
Регистрация: 21.07.2013
Сообщений: 40

Сообщение от рони
непонятное описание ... что хотите неизвестно
Как понятней обьяснить не знаю, но с вашего примера уже увидел свою ошибку. Спасибо)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с Jquery запросом. как выбрать дочерний элемент сложенной структурой Keith Events/DOM/Window 4 12.05.2014 22:03
Выбрать элемент у родителя которого сын это элемент по которому кликнули MalikSPB Events/DOM/Window 8 30.12.2012 12:22
Выбрать дочерний элемент, того по которому кликнули MalikSPB Events/DOM/Window 5 28.11.2012 23:38
Как выбрать элемент в который вложен.. prolapse Events/DOM/Window 8 28.10.2011 10:18
задействовать только дочерний элемент roma86 jQuery 2 03.10.2009 21:36