Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.07.2017, 19:18   #1
Санеккк
Пользователь
 
Регистрация: 06.11.2013
Сообщений: 81
По умолчанию Ячейки без ID

Приветствую!
Есть таблица.
JS нужно изменить текст в одной конкретной ячейке
Код:
var element=document.getElementById('моя_таблица');
if(element) document.all.моя_таблица.rows[1].cells[1].innerText="новый текст"
Изначально таблица состоит всего из двух строк. Во второй ячейке второй строки текст прекрасно меняется.
Но сложность в том, что динамически подгружается неопределенное количество строк, а вторая строка (с измененным текстом, которая мне и не нужна была вообще) удаляется. И текст изменить мне нужно во второй ячейке каждой подгруженной строки.
И это не так сложно, если бы строки идентифицировались
Код:
var element=document.getElementById('моя_таблица');
if(element) document.all.моя таблица.rows["id_строки"].cells[1].innerText="новый текст"
Но у строк нет идентификатора. Есть только class.

Какие возможны варианты?

Последний раз редактировалось Санеккк; 15.07.2017 в 20:25.
Санеккк вне форума Ответить с цитированием
Старый 15.07.2017, 20:25   #2
Санеккк
Пользователь
 
Регистрация: 06.11.2013
Сообщений: 81
По умолчанию

Такой вариант не хочет работать
Код:
var element=document.getElementById('моя_таблица');
if(element) document.all.моя_таблица.rows.length.cells[1].innerText="новый текст"

Последний раз редактировалось Санеккк; 15.07.2017 в 20:29.
Санеккк вне форума Ответить с цитированием
Старый 15.07.2017, 20:50   #3
agmag
Пользователь
 
Регистрация: 15.07.2017
Сообщений: 31
По умолчанию

Т.е. нужно идентифицировать подгруженные строки?
или пройтись в цикле по элементам?
Код:
if(element) {
for(var i=0;i<document.all.моя_таблица.rows.length;i+=1){
document.all.моя_таблица.rows[i].cells[1].innerText="новый текст"
}
}

Последний раз редактировалось agmag; 15.07.2017 в 20:52.
agmag вне форума Ответить с цитированием
Старый 15.07.2017, 21:23   #4
Санеккк
Пользователь
 
Регистрация: 06.11.2013
Сообщений: 81
По умолчанию

agmag,
Нужно пройтись по элементам. Просто изначально я пошёл не совсем верным путём, упёршись в отсутствие идентификации элементов.
Ваш код работает, заменяет текст в конкретном столбце всех строк.
Спасибо!

Теперь первая сложность:
количество строк при загрузке страницы - две. На странице есть форма поиска нужной информации. Вбиваю ключевое слово - получаю неопределенное количество строк с нужной мне информацией в каждой. В каждой строке нужно заменить во второй ячейке текст на мой. И здесь скрипт не работает, так как при загрузке страницы всех этих строк не было, а скрипт уже не активен.
Буду искать способы активировать скрипт при поиске информации.

Например, при клике в поле поиска, активируется таймер (учитывая, что серверу нужно время на обработку запроса), который уже активирует скрипт изменения текста в ячейках.
Возможны ещё какие-то варианты?
Может, проще это сделать в момент создания строк с найденной информацией?

Последний раз редактировалось Санеккк; 15.07.2017 в 21:44.
Санеккк вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как в excel объединить ячейки без потери данных katFOX Помощь студентам 0 03.02.2017 15:58
Извлечение Ссылки из ячейки с гиперссылкой без дополнительных функций KuroiRyuu Microsoft Office Excel 5 16.07.2012 22:17
как сделать обтекание без указания размера ячейки EZOOK HTML и CSS 3 21.01.2012 03:05
растягивание значений без формата ячейки marc-nikita Microsoft Office Excel 3 08.12.2009 11:24
[Делфи]Покраска ячейки StringGrid без DrawCell. Как? zotox Помощь студентам 0 02.09.2009 16:30