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

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

21.07.2013, 16:51. Показов 1650. Ответов 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru