Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.11.2009, 01:26
Новичок на форуме
Отправить личное сообщение для p-mail Посмотреть профиль Найти все сообщения от p-mail
 
Регистрация: 28.11.2009
Сообщений: 2

Замена символов в тексте нажатием на кнопку
Задача следующая: на странице имеется большой текст с проставленными ударениями ( & # 7 6 9 ; ). Нужно нажатием на кнопку убирать/снова расставлять их. Как это правильнее и компактнее сделать (и чтобы кулер не выл)?

Последний раз редактировалось p-mail, 28.11.2009 в 01:28.
Ответить с цитированием
  #2 (permalink)  
Старый 28.11.2009, 02:30
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 03.04.2008
Сообщений: 6,245

например перебрать все текстовые ноды, и заменить ударения на какой-то неотображаемый символ(\06 кажется бипу соответсвует), и обратно?
Ответить с цитированием
  #3 (permalink)  
Старый 28.11.2009, 14:36
Новичок на форуме
Отправить личное сообщение для p-mail Посмотреть профиль Найти все сообщения от p-mail
 
Регистрация: 28.11.2009
Сообщений: 2

Ну наверно и подстановка пустого значения ( changeSimvol = "" ) подойдет. Вопрос касался технической реализации, каким образом это лучше осуществить. Чтобы не писать на месте каждого ударения -
ударе<script>document.write(changeSimvol)</script>ние
Ответить с цитированием
  #4 (permalink)  
Старый 28.11.2009, 16:41
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 03.04.2008
Сообщений: 6,245

Сообщение от p-mail
Ну наверно и подстановка пустого значения ( changeSimvol = "" ) подойдет
как ты их собираешься после этого возвращать обратно?
Сообщение от p-mail
document.write(changeSimvol)
это тут никак не подойдет(если ты хочешь сделать без перезагрузки страницы)
го учить DOM и Регулярные выражения, и думать над предложенным мною алгоритмом
Ответить с цитированием
  #5 (permalink)  
Старый 29.11.2009, 01:13
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Вот один вариант. Но не скрипта, а разметки.
<style type="text/css">
	.grp-noaccents .typ-accent {
		display: none
	}
</style>

<body class="grp-noaccents">
...
<p>На дворе<span class="typ-accent">&#769;</span> трава<span class="typ-accent">&#769;</span>, на траве<span class="typ-accent">&#769;</span> дрова<span class="typ-accent">&#769;</span>.</p>
...
</body>


Как Вы, наверное, догадываетесь, достаточно добавить/удалить класс "grp-noaccents" любому родителю, чтобы скрыть/показать ударения.

Плюсы: экстремально шустрая в работе и несложная в изготовлении методика.
Минусы: при копировании текста из браузера ударения будут всегда; если css не подгрузится, ударения будут показываться всегда.

Последний раз редактировалось subzey, 29.11.2009 в 01:17. Причина: сущности
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Замена слов в тексте Dan T Общие вопросы Javascript 8 18.03.2009 11:36