Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Неизвестномерный массив (https://javascript.ru/forum/events/57935-neizvestnomernyjj-massiv.html)

Levelleor 26.08.2015 23:50

Неизвестномерный массив
 
Я накатал кода и даже не понимаю что у меня вышло...

function pro() {
var submit = [];
var items = [];

for (j=0; j<document.getElementsByClassName("chosen_item").length; j+=1) {items[j] = document.getElementsByClassName("chosen_item")[j].getAttribute('alt')}
for (i=0; i<document.getElementsByClassName('.apeend_items>div').length; i+=1) {
submit[i]= [document.getElementsByClassName("item_block")[i].getAttribute('id'), document.getElementsByClassName("item_block_name")[i].value, document.getElementsByClassName("item_block_comm")[i].value, items];
}
alert(submit[0][0]);
}
document.f1.finnish.onclick=pro;


Можете объяснить почему браузер ругается на submit[0][0], говоря что второй ноль неверен?
Какой я вообще массив создал и как он, приблизительно, выглядит?

Как же я буду вам признателен за помощь... !

рони 27.08.2015 00:24

Levelleor,
может макет полностью?

Levelleor 27.08.2015 00:47

Окей, вот:
<div class="apeend_items">
<div class="items">
<div id="item_block_0" class="item_block active_item_block"><div class="del_item_block">[X]</div>
<p>
Название:<input class="item_block_name" name="item_block_name_0" type="text">Комментарий:<input class="item_block_comm" name="item_block_comm_0" type="text">
</p>

<div alt="gameid2" class="chosen_item" style="background: rgba(0, 0, 0, 0) url(http://solomidcdn.com/images/champions_sprite_75.jpeg?v=1400720489) repeat scroll 0px -8700px / auto padding-box border-box;"><div></div></div>
<div alt="gameid2" class="chosen_item" style="background: rgba(0, 0, 0, 0) url(http://solomidcdn.com/images/champions_sprite_75.jpeg?v=1400720489) repeat scroll 0px -8700px / auto padding-box border-box;"><div></div></div>
<div alt="gameid2" class="chosen_item" style="background: rgba(0, 0, 0, 0) url(http://solomidcdn.com/images/champions_sprite_75.jpeg?v=1400720489) repeat scroll 0px -8700px / auto padding-box border-box;"><div></div></div>

</div>
</div>
</div>


function pro() {
var submit = []; 
var items = [];

for (j=0; j<document.getElementsByClassName("chosen_item").length; j+=1) {items[j] = document.getElementsByClassName("chosen_item")[j].getAttribute('alt')}
for (i=0; i<document.getElementsByClassName('.apeend_items>div').length; i+=1) {
submit[i]= [document.getElementsByClassName("item_block")[i].getAttribute('id'), document.getElementsByClassName("item_block_name")[i].value, document.getElementsByClassName("item_block_comm")[i].value, items];
}
alert(submit[0][0]);
}
document.f1.finnish.onclick=pro;


По идее тут все что нужно. Вверху блоки для считывания внизу скрипт который считывает.
Или вы хотите увидеть весь документ? Не знаю что там интересного еще может быть..

рони 27.08.2015 00:59

Цитата:

Сообщение от Levelleor
document.getElementsByClassName('.apeend_items>div ').

не бывает таких классов
document.querySelectorAll('.apeend_items>div')

Levelleor 27.08.2015 01:04

рони,
Вы даже не представляете как вы мне помогли!
Боже, а я на это убил последних 4 часа, пролазил более 200 страниц на темы Jquery и JavaScript, а проблема скрылась вот в таком странном месте!
Еще раз спасибо!
А для понимания: почему так нельзя делать?

Levelleor 27.08.2015 01:17

Кажется понял. Наверняка ибо там не только класс. Странно только что оно не ругается на такое..

рони 27.08.2015 01:18

Levelleor,
getElementsByClassName ищет по классу а у вас селектор
apeend_items - имя класса
.apeend_items>div - селектор


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