С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 19.04.2013
Сообщений: 11

Запуск onClick для всех дочерных тегов

21.07.2013, 16:51. Показов 1611. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно есть код:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<div class="example_path">
  <div onClick="test2(this)" class="example_test2"></div>
  <div onClick="test2(this)" class="example_test2"></div>
  <div onClick="test2(this)" class="example_test2"></div>
  <div onClick="test2(this)" class="example_test2"></div>
  <div onClick="test2(this)" class="example_test2"></div>
  <div onClick="test2(this)" class="example_test2"></div>
  <div onClick="test2(this)" class="example_test2"></div>
  <div onClick="test2(this)" class="example_test2"></div>
  <div onClick="test2(this)" class="example_test2"></div>
  <div onClick="test2(this)" class="example_test2"></div>
  <div onClick="test2(this)" class="example_test2"></div>
  
  <div class="plant"></div>
  
</div>
Что бы запустить все 11 скриптов - нужно 11 раз нажать на дочерные дивы. Какой нужно поставить onClick в главный див, что бы при одном нажатии на него запускались все внутренние дивы.
P.S. Может в таком варианте как то можно запустить не первый элемент, а сразу все?
HTML5
1
<div onClick="test2(children[1])" class="example_path">
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.07.2013, 16:51
Ответы с готовыми решениями:

Onclick для всех картин
Можно ли применить onclick = 'openImageWindow(this.src);' ко всем картинам внутри конкретного div-а?

События работают не для всех тегов?
&lt;a href=&quot;/mf/index.html?button=0&quot;&gt; &lt;sq style=&quot;&quot; class=&quot;q&quot; onmouseover=&quot;alert('OK')&quot;&gt;Текст&lt;/sq&gt; &lt;/a&gt; В таком случае onmouseover не...

Вызвать onclick для всех ссылок на сайте
Добрый день! Задача состоит в следующем: Нужно прокликать все ссылки на сайте, пробовал сделать так: &lt;a href=&quot;ссылка&quot;...

13
116 / 94 / 12
Регистрация: 13.02.2013
Сообщений: 278
21.07.2013, 18:25
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<div class="example_path" onclick="allclick(this)">
  <div class="example_test2"></div>
  <div class="example_test2"></div>
  <div class="example_test2"></div>
  <div class="example_test2"></div>
  <div class="example_test2"></div>
  <div class="example_test2"></div>
  <div class="example_test2"></div>
  <div class="example_test2"></div>
  <div class="example_test2"></div>
  <div class="example_test2"></div>
  <div class="example_test2"></div>
  
  <div class="plant"></div>
  
</div>
JavaScript
1
2
3
4
5
6
function allclick(elem) {
  Cl = elem.getElementsByClassName('example_test2')
  for(var i = 0;i<Cl.length;i++){
    test2(this)
    }
  }
0
Эксперт JSЭксперт HTML/CSS
2436 / 1115 / 312
Регистрация: 23.06.2011
Сообщений: 3,529
21.07.2013, 21:42
JavaScript
1
elem.getElementsByClassName
это не работает в ие8 и ниже, и для получения требуемых дивов нужно перелопатить всю страницу, хотя нужное лежит в контейнере
JavaScript
1
Cl.length;
измерять длину массива в каждой итерации не очень правильно
JavaScript
1
test2(this)
не будет здесь this
Не могу динамически добавить событие c переменным параметром к элементу
Onload в цикле
Задать onclick сразу нескольким элементам

Цитата Сообщение от Fear1 Посмотреть сообщение
Может в таком варианте как то можно запустить не первый элемент, а сразу все?
непонятно что значит запустить?
0
116 / 94 / 12
Регистрация: 13.02.2013
Сообщений: 278
21.07.2013, 22:37
newJS, сорри, тупанул...

Добавлено через 4 минуты
Цитата Сообщение от newJS;
измерять длину массива в каждой итерации не очень правильно
А что с этим не так?

Добавлено через 4 минуты
JavaScript
1
2
3
4
5
6
function allclick(elem) {
  Cl = elem.getElementsByClassName('example_test2')//можно для всех дивов getElementsByTagName('div') 
 for(var i = 0;i<Cl.length;i++){
    test2(Cl[i])
   }
  }
0
0 / 0 / 0
Регистрация: 19.04.2013
Сообщений: 11
21.07.2013, 22:42  [ТС]
Цитата Сообщение от newJS Посмотреть сообщение
JavaScript
1
elem.getElementsByClassName
непонятно что значит запустить?
То есть при
HTML5
1
<div onClick="test2(children[1])" class="example_path">
этот див запустит функцию test2 для вложенного элемента по номером 1.
Я думал что, возможно, можно сделать что то подобное.
HTML5
1
<div onClick="test2(children[all])" class="example_path">
Ответа я так и не нашел. Выше приведенный пример у меня почему то не работает.
0
116 / 94 / 12
Регистрация: 13.02.2013
Сообщений: 278
21.07.2013, 22:48
JavaScript
1
2
3
4
5
6
7
8
function allclick(elem) {
  Cl = elem.getElementsByTagName('div')
  for(var i = 0;i<Cl.length;i++){
    if(Cl[i].className == "example_test2"){
      test2(Cl[i])
      }
    }
  }
Добавлено через 1 минуту
Рабочий пример
0
0 / 0 / 0
Регистрация: 19.04.2013
Сообщений: 11
21.07.2013, 23:33  [ТС]
Цитата Сообщение от OT_VINTA Посмотреть сообщение
JavaScript
1
2
3
4
5
6
7
8
function allclick(elem) {
  Cl = elem.getElementsByTagName('div')
  for(var i = 0;i<Cl.length;i++){
    if(Cl[i].className == "example_test2"){
      test2(Cl[i])
      }
    }
  }
Добавлено через 1 минуту
Рабочий пример
Скорей всего я что то не так сказал. Вот архив на скрипт. http://rghost.ru/47578741
Посмотри на работу этих дивов(они синие). Я хочу при нажатии на большой див(с черной рамкой) активировать все внутренние дивы.
0
116 / 94 / 12
Регистрация: 13.02.2013
Сообщений: 278
22.07.2013, 00:08
Вы что-то не так делаете
Я попробовал - всё работает
0
0 / 0 / 0
Регистрация: 19.04.2013
Сообщений: 11
22.07.2013, 00:19  [ТС]
А можно полную версию? Если это не затруднит Вас?
0
116 / 94 / 12
Регистрация: 13.02.2013
Сообщений: 278
22.07.2013, 00:23
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<div class="example_path" onclick="allclick(this)">
  <div class="example_test2"></div>
  <div class="example_test2"></div>
  <div class="example_test2"></div>
  <div class="example_test2"></div>
  <div class="example_test2"></div>
  <div class="example_test2"></div>
  <div class="example_test2"></div>
  <div class="example_test2"></div>
  <div class="example_test2"></div>
  <div class="example_test2"></div>
  <div class="example_test2"></div>
  
  <div class="plant"></div>
  
</div>
<script>
function allclick(element) {
  Cl = element.getElementsByTagName('div')
  for(var iyy = 0;iyy<Cl.length;iyy++){
    if(Cl[iyy].className == "example_test2"){
      test2(Cl[iyy])
      }
    }
  }
</script>
Добавлено через 1 минуту
Если хотите-сохраню Ваш код на learn.javascript.ru/play
0
0 / 0 / 0
Регистрация: 19.04.2013
Сообщений: 11
22.07.2013, 00:28  [ТС]
Работает, большое спасибо. Хотел бы попросить Вас удалить мой скрипт.
Скрипт не нужно сохранять, а особенно куда то публиковать. Тут работа идет с ИИ. Возможно Вы этим тоже занимаетесь?
0
116 / 94 / 12
Регистрация: 13.02.2013
Сообщений: 278
22.07.2013, 00:33
Скрипт удалил
А я занимаюсь (начинаю) созданием игрушек на JavaScript
Первый опыт
1
0 / 0 / 0
Регистрация: 19.04.2013
Сообщений: 11
22.07.2013, 01:39  [ТС]
Было бы хорошо, если бы Вы поделились скайпом.
P.S. Всех интересующихся ИИ просьба писать в скайп: StoneSoull
0
Эксперт JSЭксперт HTML/CSS
2436 / 1115 / 312
Регистрация: 23.06.2011
Сообщений: 3,529
22.07.2013, 07:46
Цитата Сообщение от OT_VINTA Посмотреть сообщение
А что с этим не так?
В каждой итерации измеряется размерность массива, зачем в каждой?
То есть, прежде чем выполнить очередную проверку скрипт перемеряет массив. Абсолютно бессмысленное разогревание процессора.
Это нужно сделать один раз вне цикла.

Речь о целесообразности, а не об ошибке.

P.S.
тут while будет удобней
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.07.2013, 07:46
Помогаю со студенческими работами здесь

Реализовать событие onclick для всех элементов
Суть проблемы: Есть таблица в div'e 6 на 6 элементов (квадратов), при нажатии на любой из квадратов, этот самый квадрат должен исчезать....

Команда для удаления всех html тегов со строки.
Можно одной командой удалить все html - теги из строки?

Регулярное выражение для удаления всех тегов, кроме указанных
вот регулярка. она очищает только те теги, которые указаны. а мне нужно наоборот. очищать все теги, кроме указанных. кто поможет изменить? ...

Какой плагин установить для выведения на всех страницах мета тегов?
Не могу найти плагин, который позволяет прописывать мета теги в каждой из страниц сайта (дескрипшен и тайтл). Все плагины, которые нашел,...

Как сделать для всех программ запуск от администратора?
Как сделать для всех программ запуск от администратора?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru