Изменение цвета слова на странице
Пожалуйста подскажите скрипт который изменял бы цвет какого либо слова повторяющегося на всей странице к примеру слово - приложение
Пример: Инженерия программного обеспечения (англ. Software Engineering) — приложение систематического, дисциплинного, измеримого подхода к развитию, оперированию и обслуживанию программного обеспечения, а также исследованию этих подходов; то есть, приложение дисциплины инженерии к программному обеспечению. 2) И еще такой скрипт который при нахождении какого либо набора символов закрашивал бы в определенный цвет всю строку что сделует за ними и сами символы к примеру символы %!% Пример: Инженерия программного обеспечения (англ. Software Engineering) — приложение систематического, дисциплинного, измеримого подхода к развитию,%!% оперированию и обслуживанию программного обеспечения, а также исследованию этих подходов; то есть, приложение дисциплины инженерии к программному обеспечению. 3) И подобный скрипт но что бы закрашивал весь текст находящийся между двумя наборами символов открывающим %( и закрывающим )% как коментарии. Пример: Инженерия программного обеспечения (англ. Software Engineering) — приложение систематического, дисциплинного, измеримого подхода к развитию, оперированию и обслуживанию программного обеспечения,%( а также исследованию этих подходов; то есть, приложение дисциплины инженерии к программному обеспечению. )% Я попытался честно говоря сам сделать но как то не получилось у меня. Пока что не тот уровень знаний. Буду очень благодарен за помощь! И еще желательно было бы добавить небольшое описание к скрипту чтобы я потом смог в нем все таки разобраться и понять что к чему. |
бесплатно это вам не сделают. Одно дело помочь человеку (подсказать, исправить, направить в нужную сторону), а другое — сделать за него работу.
|
Вы просите готовый скрипт с нуля.
Это работа, и за нее обычно платят деньги. Для таких сообщений предназначен раздел форума "Работа". Если вы все же хотите, чтобы вам помогли - приложите какие-то усилия сами и задавайте вопросы по ходу дела. |
Ну срабатывать этот скрипт по идеи должен при загрузке страницы
<head> <script> function tags(){ var kw = "приложение"; Здесь код } </script> </head> <body onload="tags()"> </body> Вот только как организовать этот код ума не приложу) Я мог бы взять и изменить допустим цвет всего абзаца с указанным ID или еще какие то свойства целого элемента. Но как взять и изменить отдельное слово ума не приложу, по сути мне только этот момент и нужно объяснить желательно на примере и с коментариями. У меня цель не просто скопировать готовый скрипт но еще и разобраться в нем что бы в будущем таких вопросов не возникало. Вот объясните мне как взять и организовать поиск слова на ВСЕЙ странице и что бы после нахождения тут же обратиться к свойству данной строки и изменить ее цвет. Как я понял функция match() по идеи должна заниматься поиском совпадений в строке но как при этом цвет поменять? С этим я окончательно запутался. |
Цитата:
:write: |
Цитата:
С этим я разобрался. Но вот по ВСЕЙ странице такой трюк провернуть будет напряжно особенно с учетом того что страница будет регулярно дополняться новой инфой. |
можно попробовать отсюда
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script> <body> Инженерия программного обеспечения (англ. Software Engineering) — приложение систематического, дисциплинного, измеримого подхода к развитию, оперированию и обслуживанию программного обеспечения, а также исследованию этих подходов; то есть, приложение дисциплины инженерии к программному обеспечению. <div> Инженерия программного обеспечения (англ. Software Engineering) — Приложение систематического, дисциплинного, измеримого подхода к развитию, оперированию и обслуживанию программного обеспечения, а также исследованию этих подходов; то есть, приложение дисциплины инженерии к программному обеспечению. </div> <script> jQuery(function () { var body = $("body"); var text = body.html().replace(/([Пп]риложение)/g, "<b>$1</b>"); body.html(text); }); </script> UPD: забыл сказать, конкретно при таком способе могут пострадать обработчики |
Выделение слов на странице
:write: ... нагуглено и модернизировано ... http://javascript.ru/forum/jquery/12...html#post72373...почти рабочий код)))
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <script src="https://code.jquery.com/jquery-1.9.1.js"></script> <script> jQuery.fn.highlight = function (d, g) { function f(a, c) { if (3 == a.nodeType) { var e = jQuery("<div><\/div>").text(a.data).html(); jQuery(a).replaceWith(e.replace(h, '<span class="' + b.className + '">$1<\/span>')) } else if (1 == a.nodeType && a.childNodes && !/(script|style|img|input)/i.test(a.tagName) && a.className != b.className) for (var e = a.childNodes.length, d; d = a.childNodes[--e];) f(d, c) } var b = { split: " ", className: "highlight", caseSensitive: !1, strictly: !1, remove: !0 }, b = jQuery.extend(b, g); b.remove && $("." + b.className).each(function () { $(this).replaceWith($(this).text()) }); var c = b.strictly ? "" : "\\S*", h = RegExp("(" + c + d.replace(RegExp(b.split, "g"), c + "|" + c) + c + ")", (b.caseSensitive ? "" : "i") + "g"); return this.each(function () { f(this, d) }) }; </script> <style type="text/css"> span.highlight {color:red} </style> </head> <body> <div > Вот только как организовать этот код ума не приложу) Я мог бы взять и изменить допустим цвет всего абзаца с указанным ID или еще какие то свойства целого элемента. Но как взять и изменить отдельное слово ума не приложу, по сути мне только этот момент и нужно объяснить желательно на примере и с коментариями. У меня цель не просто скопировать готовый скрипт но еще и разобраться в нем что бы в будущем таких вопросов не возникало. Вот объясните мне как взять и организовать поиск слова на ВСЕЙ странице и что бы после нахождения тут же обратиться к свойству данной строки и изменить ее цвет. Как я понял функция match() по идеи должна заниматься поиском совпадений в строке но как при этом цвет поменять? С этим я окончательно запутался. </div> <form> <input id="pattern" name="" value="вот поиск слов"><label> слова через пробел</label><br> <input id="right" name="" type="checkbox"><label>точное совпадение</label><br> <input id="case" name="" type="checkbox"><label>зависит от регистра</label><br> <input id="remove" name="" type="checkbox"><label>не убирать предыдущее выделение</label><br> <input id="scan" name="" type="button" value="scan"> <script> $('#scan').click(function () { var settings = {}; var pattern = $('#pattern').val(); $("#right").prop("checked") && (settings.strictly = true); $("#case").prop("checked") && (settings.caseSensitive = true); $("#remove").prop("checked") && (settings.remove = false); pattern && $("div").highlight(pattern, settings) }) </script> </form> </body> </html> |
Цитата:
var text = body.html().replace(/([Пп]риложение)/g, "<b>$1</b>"); я не понял что значит это $1 ? Разве там не должно быть слово "приложение"? |
Цитата:
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 00:29. |