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

HTML+CSS+JavaScript

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Чтение только что записанных спецсимволов в JavaScript - бред какой-то...
 
 автор: Cyrax   (05.02.2009 в 09:42)   письмо автору
 
 

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


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

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

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

  Ответить  
 
 автор: 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;';
а если нужно узнать, что там внутри, то сравнивайте с плюсом.

  Ответить  
Rambler's Top100
вверх

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