powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / найти и поменять значение между <div>
10 сообщений из 10, страница 1 из 1
найти и поменять значение между <div>
    #35222308
testeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть например такая конструкция:
Код: plaintext
1.
2.
3.
4.
5.
6.
<div id="chek">
     <div id="kodTV342">...</div>
     <div id="kodTV212">...</div>
     <div id="kodTV32">...</div>
.....
</div>
делаю аджакс запрос с джава скрипта,
responseText будет получать такой результат: <div id="kodTV212">новые данные</div>

Теперь мне нужно поновить данные на странице,если сделать так:
Код: plaintext
1.
2.
var tovar = document.getElementById("kodTV"+coden.toString());
tovar.innerHTML = xml.responseText; 
то получиться неправильно, буду иметь:
Код: plaintext
1.
2.
3.
4.
5.
6.
<div id="chek">
     <div id="kodTV342">...</div>
     <div id="kodTV212"><div id="kodTV212">новые данные</div></div>
     <div id="kodTV32">...</div>
.....
</div>
а надо:
Код: plaintext
1.
2.
3.
4.
5.
6.
<div id="chek">
     <div id="kodTV342">...</div>
     <div id="kodTV212">новые данные</div>
     <div id="kodTV32">...</div>
.....
</div>

собствено вопрос: как мне правильно и красиво сделать обновления данных?
...
Рейтинг: 0 / 0
найти и поменять значение между <div>
    #35222383
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
tovar.innerHTML = xml.responseText.replace(/^<.+?>(.*?)<\/.+>$/,'\$1');
...
Рейтинг: 0 / 0
найти и поменять значение между <div>
    #35222387
testeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
illion
Код: plaintext
tovar.innerHTML = xml.responseText.replace(/^<.+?>(.*?)<\/.+>$/,'\$1');


не подскажете где можна почитать о регулярных выражения?
...
Рейтинг: 0 / 0
найти и поменять значение между <div>
    #35222410
testeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
illion
Код: plaintext
tovar.innerHTML = xml.responseText.replace(/^<.+?>(.*?)<\/.+>$/,'\$1');


не работает:
иногда xml.responseText может получить результат с вложенными тегами типа
<div id="kodTV212"><p class="pred">новые</p> данные</div>

по сути мне надо отрезать первый дів і его закрывающий тег.

пс.может есть возможность както через childNodes?
...
Рейтинг: 0 / 0
найти и поменять значение между <div>
    #35222413
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю, красивее было бу получать с сервера такую структуру:
Код: plaintext
{"code":"kodTV212","div":"<div id=\"kodTV212\">new data</div>"}
Количество данных практически не увеличилось, проблемы взять название на сервере нет, но зато лекго обратиться к имени и к содержанию:
Код: plaintext
1.
2.
var values = eval("(" + request.responseText + ")");
var code = values.code;
var div = values.div;
Это сделано, чтобы можно было из общего количества вложенных дивов найти нужный. В коллекции вложенных дивов находим нужный и делаем такой "финт":
Код: plaintext
1.
2.
3.
4.
var founded_div = document.getElementById(code);
var new_div = document.createElement(div); // это который <div id="kodTV212">новые данные</div>
if (founded_div != undefined)
      document.getElementById("chek").replaceChild(new_div, founded_div);
else document.getElementById("chek").appendChild(new_div);
...
Рейтинг: 0 / 0
найти и поменять значение между <div>
    #35222445
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
testeron
не работает:

ну тогда регулярное выражение такое:
Код: plaintext
tovar.innerHTML = xml.responseText.replace(/^<.+?>(.*)<\/.+>$/,'\$1');
а вообще - действительно работать с js-объектами и eval удобнее, чем с текстом.
...
Рейтинг: 0 / 0
найти и поменять значение между <div>
    #35222466
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
testeronесть например такая конструкция:
Код: plaintext
1.
2.
3.
4.
5.
6.
<div id="chek">
     <div id="kodTV342">...</div>
     <div id="kodTV212">...</div>
     <div id="kodTV32">...</div>
.....
</div>

не поверите, но проще всего kodTV212.innerHTML = xml.responseText,
где с сервера забирать не в виде Дива, а в виде текста внутри Дива.
...
Рейтинг: 0 / 0
найти и поменять значение между <div>
    #35222596
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
:) блин, ну конечно!
Передавать только id и текст - есть такой есть - менять текст, нет - создавать новый.
А мы тут раздули функционал :)
...
Рейтинг: 0 / 0
найти и поменять значение между <div>
    #35222677
ZeusTheTrueGod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Prototype
jQuery
ExtJS
эти библиотеки на джаваскрипте уже содержат все такие функции, библиотеки используются во многих проектах, поэтому там что-то вроде Updater.update('div123','request.php'), которые респонзе пишет в нужный элемент.
Выбирайте любую, не пишите велосипед!
...
Рейтинг: 0 / 0
найти и поменять значение между <div>
    #35222808
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так ведь любим мы JavaScript/
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / найти и поменять значение между <div>
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]