Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как загнать новые дивы в массив в js (https://javascript.ru/forum/jquery/56869-kak-zagnat-novye-divy-v-massiv-v-js.html)

Big guy 07.07.2015 18:10

Как загнать новые дивы в массив в js
 
Всем привет!

Подскажите, пожалуйста, как присвоить дивы в массив в js коде. К примеру, есть следующий элемент в html:
<div id = "Jo"></div>

В js прописываем:
var d = getElementById('Jo')
d = [];

А теперь, вернувшись к html допишем еще 3 дива:
<div id = "Jo">
<div id = "Jo1"</div>
<div id = "Jo2"</div>
<div id = "Jo3"</div>
</div>

Как сделать так, что бы в js это "выглядело" следующим образом:
d = [Jo1, Jo2, Jo3]

Или может есть какой то метод в jquery?

laimas 07.07.2015 18:22

Цитата:

Сообщение от Big guy
var d = getElementById('Jo')
d = [];

Результатом этого будет пустой массив. Вам что нужно, массив объектов или массив их идентификаторов?

Big guy 07.07.2015 18:34

Цитата:

Сообщение от laimas (Сообщение 378074)
Результатом этого будет пустой массив. Вам что нужно, массив объектов или массив их идентификаторов?

Мне нужно что бы в этом массиве хранились все дивы которые, в данном случае прописывались в диве Jo. То есть, что бы каждый раз когда я ввожу новый див в диве Jo он помещался в этот массив d. Ну и потом с ними работать, просто хочу научиться создавать динамическую структуру кода.

laimas 07.07.2015 18:56

Цитата:

Сообщение от Big guy
То есть, что бы каждый раз когда я ввожу новый див в диве Jo он помещался в этот массив d

Создание динамической структуры, это не обязательно что-то помещать в массив. Ну например, какой смысл в данном случае помещать в массив объект, который добавляется на страницу без помощи этого массива?

Big guy 07.07.2015 20:57

Цитата:

Сообщение от laimas (Сообщение 378079)
Создание динамической структуры, это не обязательно что-то помещать в массив. Ну например, какой смысл в данном случае помещать в массив объект, который добавляется на страницу без помощи этого массива?

Хм, наверное, никакого, но а как по другому можно осуществить эту операцию?

join 07.07.2015 21:05

http://jsfiddle.net/6kyexhos/4/

рони 07.07.2015 21:43

Цитата:

Сообщение от Big guy
допишем еще 3 дива:

потом
var d = $.makeArray(document.querySelectorAll('#Jo >'))

laimas 08.07.2015 08:20

Цитата:

Сообщение от Big guy
Хм, наверное, никакого, но а как по другому можно осуществить эту операцию?

Ну, если никакого, то каков смыл такой учебы? Если уж учиться строить динамически элементы на странице, то тогда уж из данных описанных в массиве строить элементы, изучая методы добавления. В JQ их много и все они просты и в написании, и для понимания.

Вот у вас вопрос звучит так - То есть, что бы каждый раз когда я ввожу новый див в диве Jo он помещался в этот массив d., а цель "просто хочу научиться создавать динамическую структуру кода", и в контексте "обучения" главное наверное будет и как вы их вводите, вернее добавляете на страницу? Ведь чтобы автоматом пополнялся массив, нужно метод $.makeArray() выполнять как раз при добавлении новых div. Иначе не понять какую цель вы преследуете.


Часовой пояс GMT +3, время: 11:18.