Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Странности match (https://javascript.ru/forum/misc/27449-strannosti-match.html)

serj_russi 13.04.2012 11:29

Странности match
 
При получении синхронного AJAX запроса от сервера, <div id=cont>....</div id=cont><div id=rek>....</div id=rek>

разбираю регулярными выражениями, для последующей вставки в блоки методом innerHTML =...

var aa = new RegExp (/<div id=cont>(.|\s)*?<\/div id=cont>/);
var ss = new RegExp (/<div id=rek>(.|\s)*?<\/div id=rek>/);

в результате каждому блоку в конце приписывается ,>
хотя в ответе сервера, этих символов нет

Gvozd 13.04.2012 12:31

Цитата:

Сообщение от serj_russi
</div id=cont>

Цитата:

Сообщение от serj_russi
(.|\s)

какие страшные вещи вы пишите
Цитата:

Сообщение от serj_russi
в результате каждому блоку в конце приписывается ,>
хотя в ответе сервера, этих символов нет

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

Антон Крамолов 13.04.2012 12:33

А разве ноды нельзя получить при ответе? А там привычным getElementById проверить?

serj_russi 13.04.2012 16:00

етпр.рф

а зачем писать весь код?

вроде всё ясно описано... вырезаю регулярным выражением вставляю через innerHTML

специально для вас, вставляю textarea, в которой отображается ответ сервера, и два вырезанных блока

serj_russi 13.04.2012 16:19

может быть есть другой, более приемлимый способ, чем мой?

trikadin 13.04.2012 17:18

Антон Крамолов, можно, через xml (правда, там особо getElementById не воспользуешься).

serj_russi 13.04.2012 17:22

Цитата:

Сообщение от trikadin (Сообщение 168838)
Антон Крамолов, можно, через xml (правда, там особо getElementById не воспользуешься).

в любом случае придётся вырезать часть кода, для вставки на страницу

чем плохо однозначное определение пределов, путём описания <div id=val>...</div id=val>
по моему, именно в этом случае всё должно хорошо вырезаться

trikadin 13.04.2012 18:44

Цитата:

Сообщение от serj_russi
в любом случае придётся вырезать часть кода, для вставки на страницу

В смысле? Что там вообще вырезать надо будет? Там реги вообще не нужны)

serj_russi 13.04.2012 19:17

Цитата:

Сообщение от trikadin (Сообщение 168858)
В смысле? Что там вообще вырезать надо будет? Там реги вообще не нужны)

а как сделать, что бы входящий текст с тэгами разделить на несколько частей?

trikadin 13.04.2012 19:27

Использовать responseXML (и, соответственно, присылать ответ сервера в формате XML)

Почитайте "Javascript - the Definitive guide" Фленагана и "Pro Javascript Techniques" Резига.


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