Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
 Аватар для Devochka
31 / 19 / 3
Регистрация: 07.10.2011
Сообщений: 98

NodeList сделать массивом

15.06.2013, 15:53. Показов 3188. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, как решить этот вопрос или почему не получается.

JavaScript
1
2
3
4
5
6
7
8
9
var matches = document.getElementById('ID').getElementsByTagName('SPAN');
alert(typeof matches +" \n"+matches);
//var myArray = Array.prototype.slice.call(matches, 0);  - так не получилось 
var myArray = [];
for (i = 0; i < matches.length; ++i) { 
       myArray.push(matches[i].name);
    // при выводе типа myArray[i] пишет, что строка, но не работает как со строкой
    alert(myArray[i].substr(3)); 
}
Ссылки можно не давать, я уже столько всего перечитала. Прошу помочь советом.
Написала в заголовке про NodeList, потому что изначально пыталась это сделать через querySelectorAll.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.06.2013, 15:53
Ответы с готовыми решениями:

Добавить элемент в NodeList
Я получил некоторый ноделист: var myNL = document.getElementsByName(&quot;myName&quot;); как в получившимся ноде листе добавить элемент равный...

Почему код выдаёт object NodeList
Есть скрипт который берёт ссылки на странице и сохраняет в текстовый файл, 2 дня назад всё работало норм а сейчас сохраняет в текстовый...

Как мы можем использовать [index] c NodeList, если это не массив?
Каким образом это реализовано? Интерпретатор когда видит это выражение неявно делает Array.from() или что-то другое происходит?

9
 Аватар для JsLoveR
425 / 167 / 48
Регистрация: 05.12.2012
Сообщений: 855
15.06.2013, 18:05
У span нету атрибута name.
0
 Аватар для Devochka
31 / 19 / 3
Регистрация: 07.10.2011
Сообщений: 98
15.06.2013, 18:38  [ТС]
Это для примера, чтобы показать, что мне что-то надо еще от моего списка всех элементов.

А в русском языке НЕТ слова "нету".
0
 Аватар для JsLoveR
425 / 167 / 48
Регистрация: 05.12.2012
Сообщений: 855
15.06.2013, 20:10
для примера, не для примера, но в массив добавляется undefined.
1
 Аватар для Devochka
31 / 19 / 3
Регистрация: 07.10.2011
Сообщений: 98
15.06.2013, 20:16  [ТС]
А при выводе typeof пишет, что объект...
0
 Аватар для JsLoveR
425 / 167 / 48
Регистрация: 05.12.2012
Сообщений: 855
15.06.2013, 20:22
Цитата Сообщение от Devochka Посмотреть сообщение
А при выводе typeof пишет, что объект
это typeof matches выводит object
0
Просто любитель
 Аватар для GuardCat
626 / 464 / 120
Регистрация: 20.01.2011
Сообщений: 865
Записей в блоге: 2
15.06.2013, 22:34
Цитата Сообщение от Devochka Посмотреть сообщение
//var myArray = Array.prototype.slice.call(matches, 0); *- так не получилось
В чем это выражается? Массив-то есть на выходе.

Добавлено через 4 минуты
А если вам массив значений, то так (массив классов выбранных элементов, d --- nodeList):
JavaScript
1
var a = Array.prototype.map.call(d, function(el){ return el.className })
1
 Аватар для Devochka
31 / 19 / 3
Регистрация: 07.10.2011
Сообщений: 98
16.06.2013, 01:57  [ТС]
Спасибо.
Массив есть, но значения массива не поддаются обработке. При определении типа элемента массива (его значение) выводит, что это строка, но работать как со строкой это значение не хочет. Стандартные функции со строками ничего не могут сделать с такой строкой. Она не обрезается, не объединяется, не откусывается... Что делать не знаю. Уже столько всего перепробовала. Может есть другой путь? Но не через childNode и табличные ячейки.

В моем html-е нет классов. У меня есть форма. В форме есть fieldset-ы, их содержимое повторяется. В них еще куча тегов, в которых есть элементы без id, класса и имени, у которых мне надо проверить значение одного и того же свойства. Хочется прогнать в цикле. Но у меня получается только количество определить этих элементов. А мне нужно значение свойства. alert выводит значение, но, как я писала, работать с ним не могу.
0
Просто любитель
 Аватар для GuardCat
626 / 464 / 120
Регистрация: 20.01.2011
Сообщений: 865
Записей в блоге: 2
16.06.2013, 12:51
Devochka, приведите кусок html с вашими элементами и поясните, какие свойства нужно получать.
1
 Аватар для Devochka
31 / 19 / 3
Регистрация: 07.10.2011
Сообщений: 98
18.06.2013, 16:37  [ТС]
Cпасибо. Я уже разобралась. Сделала посредством childNode.item.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.06.2013, 16:37
Помогаю со студенческими работами здесь

Пустой NodeList при рабочем коде
Всем привет! Учу js, делаю простенький калькулятор. Создал все нужные на этот момент переменные, сделал сложение, начал расширять...

Сделать не с 3-мя, а с одним массивом
Вот выглядит это так, нужно сделать тоже самое только с одним массивом, не динамическим, всё равно что будет много ресурсов жрать, главное...

Как сделать функцию с массивом параметров?
Подскажите как объявить функцию с массивом строковых аргументов. Всего-то нужно чтобы эта функция возвращала рандомно один из своих...

Как мою программу сделать с динамическим массивом?
Задание. Найти среднее арифметическое чисел, стоящих на нечетных местах и подсчитать количество чисел, меньших заданного С. А как сделать...

Pascal. Пусть даны натуральное n, a,x1,x2.xn интовые. Сделать массивом
Пусть даны натуральное n, a,x1,x2...xn интовые . Если в последовательности x1,x2...xn есть хотя бы один член, равный а , то получите...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru