Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Чтение только что записанных спецсимволов в JavaScript - бред какой-то...

Сообщения:  [1-2] 

 
 автор: PAT   (05.02.2009 в 13:35)   письмо автору
 
   для: Cyrax   (05.02.2009 в 09:42)
 

Это не бред - это давно известный факт.
Да, парсер браузера в свойстве innerHTML выдаёт СОБСТВЕННОЕ представление о том, что написано в HTML-коде. И иначе быть не может.

Запустите в браузере следующий код
<div id="abc"><SpAn    StYlE = "CoLoR   :      ReD">                    QWERTY         </sPaN></div>
<script>alert (document.getElementById ('abc').innerHTML)</script>
и сравните ПОСИМВОЛЬНО то, что написано непосредственно в коде, с тем, что выдаст вам alert.


PS. Если, как вы написали, у вас "в body_ctrl.innerHTML только один минус (&#8211;), либо один плюс", то использовать метод replace вовсе не нужно - просто записывайте
body_ctrl.innerHTML = '+';
или
body_ctrl.innerHTML = '&#8211;';
а если нужно узнать, что там внутри, то сравнивайте с плюсом.

  Ответить  
 
 автор: Cyrax   (05.02.2009 в 09:42)   письмо автору
 
 

trl.innerHTML = body_ctrl.innerHTML.replace("+", "&#8211;");
body_ctrl.innerHTML = body_ctrl.innerHTML.replace("&#8211;", "+");
alert(body_ctrl.innerHTML);   // остаётся минус


Спецсимвол &#8211; - дефис (длинное тире).
+ на - меняется на ура, т.е. символ &#8211;, записанный с помощью php, JS нормально читает (находит).
Но если сам JS запишет этот спецсимвол, то затем его уже не находит. По крайней мере, не находит фрагмент &#8211;
Если вместо спецсимвола подставить обычный символ, то никаких проблем не возникает.

Напрашивается вывод: JS понимает формулировку спецсимвола &#8211; , но записывает его в каком-то неизвестном никому, кроме него, формате (внутреннем представлении), посему после записи уже не может найти фрагмент &#8211;
Бред какой-то...

зы. В body_ctrl.innerHTML только один минус (&#8211;), либо один плюс.

  Ответить  

Сообщения:  [1-2] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования