Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.02.2010, 14:57
Интересующийся
Отправить личное сообщение для qwerty Посмотреть профиль Найти все сообщения от qwerty
 
Регистрация: 28.10.2009
Сообщений: 11

Подсветка цифр на странице
Подскажите пожалуйста, есть ли возможность средствами jQuery выделить на странице все видимые цифры цветом ?
Не испортив при этом, естественно, остальной html-код, в дебрях которого цифры тоже встречаются.

В plain-тексте повыделять цифры дело не хитрое
text=$("body").html().replace(/([0-9]+)/g, '<font color="red">$1</font>');
$("body").html(text);
а вот как на насыщенной html-странице - ума не приложу :(
Ответить с цитированием
  #2 (permalink)  
Старый 19.02.2010, 15:44
Аватар для sysya
Профессор
Отправить личное сообщение для sysya Посмотреть профиль Найти все сообщения от sysya
 
Регистрация: 27.12.2009
Сообщений: 292

может этим методом $("body").text()
А насыщенная страница это что значит?
__________________
Нет предела совершенству...

Последний раз редактировалось sysya, 19.02.2010 в 15:45. Причина: добавить
Ответить с цитированием
  #3 (permalink)  
Старый 19.02.2010, 15:52
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,566

Меня больше интересует что значит "Не испортив при этом, естественно, остальной html-код".
Если в теге данные(листья) - только цифры, то да можно и не испортить.
Но если и буквы и цифры то цифры придется обернуть в какой-то другой тег(span) которому уже и назначить стиль.
Ответить с цитированием
  #4 (permalink)  
Старый 19.02.2010, 16:03
Интересующийся
Отправить личное сообщение для qwerty Посмотреть профиль Найти все сообщения от qwerty
 
Регистрация: 28.10.2009
Сообщений: 11

Я имел ввиду, что на странице много разных элементов, html-код которых может содержать цифры: картинки с их размерами, ссылки с URL'ами с цифрами, всякие ID и CLASS'ы, содержащие цифры в именах... и т.д.

Если по этому пройтись кодом, который я привел - всё это попортится.
Если использовать $("body").text() - вобще html исчезнет.
А хотелось бы, чтобы изменения затронули только текстовую составляющую, отображаемую на странице. Без ущерба для html-кода.
Ответить с цитированием
  #5 (permalink)  
Старый 19.02.2010, 16:07
Аватар для sysya
Профессор
Отправить личное сообщение для sysya Посмотреть профиль Найти все сообщения от sysya
 
Регистрация: 27.12.2009
Сообщений: 292

я имел ввиду чтоб метод text() использовать как micscr говорит
__________________
Нет предела совершенству...
Ответить с цитированием
  #6 (permalink)  
Старый 19.02.2010, 16:13
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,566

я регулярки в js сильно не смотрел, но там наверное есть такое чтобы искало те цифры которые не внутри пары <>?
Если что, то и вручную распарсить строку не сильно сложно.
Ответить с цитированием
  #7 (permalink)  
Старый 19.02.2010, 16:19
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,566

Сообщение от sysya Посмотреть сообщение
я имел ввиду чтоб метод text() использовать как micscr говорит
это не будет так просто как вариант ТС т.к. еще надо учитывать те текстовые ноды(братья и сестеры узлам) которые не обернуты в тег сами.
<div>
вот такие !!!
<span>dddd</span>
<span>ssss</span>
</div>
Ответить с цитированием
  #8 (permalink)  
Старый 19.02.2010, 16:26
Аватар для sysya
Профессор
Отправить личное сообщение для sysya Посмотреть профиль Найти все сообщения от sysya
 
Регистрация: 27.12.2009
Сообщений: 292

Мне кажется любыми средствами яваскрипта браузер обакакается от нагрузки при обработке большой страницы, а если фильтровать ещё отдельные теги вырубится вабше ну может и не вырубится...
__________________
Нет предела совершенству...
Ответить с цитированием
  #9 (permalink)  
Старый 19.02.2010, 16:36
Интересующийся
Отправить личное сообщение для qwerty Посмотреть профиль Найти все сообщения от qwerty
 
Регистрация: 28.10.2009
Сообщений: 11

Я, честно говоря, очень расчитывал, что можно как-то просто указать в jQuery: мол сделай выборку всего, что не является тегом

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

OK, значит будем парсить.
Спасибо.
Ответить с цитированием
  #10 (permalink)  
Старый 19.02.2010, 17:04
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,566

Сообщение от qwerty Посмотреть сообщение
Сейчас думаю, что зря расчитывал, ибо блоки текста не обернутые получаются
Их в принципе можно обернуть предварительно. Что-то типа:
$('*').contents().not('[nodeType=1],:only-child').wrap('<b>');

<b> - для примера.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отключение картинок на странице AgRy Events/DOM/Window 13 18.01.2021 08:37
Два одинаковых сценария на одной странице Genetics Общие вопросы Javascript 7 12.07.2009 01:46
Закрепить скрипт на странице! Tveretina Я не знаю javascript 2 28.05.2009 05:02
Скрытие текста на странице за ссылкой Vlad44 Общие вопросы Javascript 2 13.01.2009 18:02
Ссылка на якорь на странице во фрейме niculins Общие вопросы Javascript 2 24.09.2008 12:23