Javascript.RU

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

Помогите сделать юзер скрипт для выделения текста.
Задача сделать так, чтобы на сайте определенные слова выделялись жирным. Начал читать учебник, но пока мало чего понял.
Не хватает реальных примеров.
Поэтому прошу написать такой скрпт, желательно минимум кода (без всяких поисков, т.е слово жестко прописано в самом скрипте), и с коментариями. Вобщем чтобы я понял как это работает.

P.S Конечно в планах есть еще пара доработок скрипта, но хочется разбираться последовательно, дополняя функции по мере изучения.

P.S Если конкретно, то нужно на opensharing.org выделить жирным нужный год. Сейчас это у меня реализовано через через css, но очень кастыльным методом, и выделяется далеко не все.
Ответить с цитированием
  #2 (permalink)  
Старый 22.03.2012, 22:53
Новичок на форуме
Отправить личное сообщение для deerc Посмотреть профиль Найти все сообщения от deerc
 
Регистрация: 21.03.2012
Сообщений: 2

Спасибо.
Скрипт сразу не заработал, но немного почитав про replace, я использовал глобальный поиск и все заработало:
//получаем текст документа в переменную
var htmlText = document.body.innerHTML;
//заменяем в тексте документа все слова "жопа" на жопа с обрамляющими тегами добавляющими жирноту и сохраняем результат в newHtmlText
var newHtmlText = htmlText.replace(/жопа/g,/*глобальный поиск*/ '<b>жопа</b>'); 
//обновляем текст документа на текст из newHtmlText
document.body.innerHTML = newHtmlText;


А теперь хотелось бы выделять не конкретно слово, а весь элемент содержащий заданное слово. Возможно такое?
Ответить с цитированием
  #3 (permalink)  
Старый 23.03.2012, 10:31
Аспирант
Отправить личное сообщение для Caminante Посмотреть профиль Найти все сообщения от Caminante
 
Регистрация: 23.03.2012
Сообщений: 40

Спасибо за пример! А можно ли таким образом реализовать выделение для слов, вводимых пользователем (поиск)? У меня получается выделить только первое слово таким образом:

var wrapper = document.getElementById('wrapper');
var word = document.getElementById('search').value;
var new_word = '<a name="search_word" class="orange_word">'+word+'</a>';

var txt = wrapper.innerHTML;
txt = txt.toString();

var new_txt = txt.replace(word, new_word);

wrapper.innerHTML = new_txt;


Если попытаться добавить /word/gi , то все перестает работать...

P.S. А самое главное - работает только в FF...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите подправить скрипт раскрывающегося текста Medvedoc Javascript под браузер 0 16.10.2011 17:38
скрипт раскрывающегося и закрывающегося текста не работает в ie Medvedoc Javascript под браузер 1 14.10.2011 23:18
помогите добавить в скрипт закрытие и где вставить отправит Александр х@к Элементы интерфейса 5 25.08.2011 21:27
Помогите оптимизировать скрипт redqueen Общие вопросы Javascript 0 24.02.2011 22:14
Как сделать функцию типа toDataUrl для рисунка в ie6 ? Олег Общие вопросы Javascript 2 14.09.2008 00:06