походу я опять где-то накосячила, скрипт подсвечивает ссылки на главные папок, но ссылку на саму себя не меняет на спан
|
Malleys,
можно спросить? какая строка меняет тег <а> на спан? |
Никто не знает как на этой странице ссылку (тег <а>) заменить на текст (тег <span>)?
<!DOCTYPE html> <html> <head> <title>transform</title> <style> body { font: 14px normal Times, serif; } div { border: 1px solid #999; padding: 5px; margin: 5px; } a:active, a:link { color: #005aff; text-decoration: none; } a.act:active, a.act:link { color: #009900; text-decoration: none; } a.abc:active, a.abc:link { color: #009900; text-decoration: none; } a.bcd:active, a.bcd:link { color: #068f06; text-decoration: none; } a.cde:active, a.cde:link { color: #0d850d; text-decoration: none; } a.def:active, a.def:link { color: #127a12; text-decoration: none; } a.efg:active, a.efg:link { color: #167012; text-decoration: none; } a.:visited { color: #5995ff; text-decoration: none; } a:hover { color: #7a00ff; text-decoration: none; } </style> <script> document.addEventListener("DOMContentLoaded", function() { var links = Array.prototype.slice.call(document.links); var classes = ["act","abc", "bcd", "cde", "def", "efg"]; var href = location.href; for(var index = 0, length = links.length, link; index < length; index++) { link = links[index]; for(var level = 0, part = href; level < classes.length; level++) { if(link.href === part || link.href === part + "/") { link.className = classes[level]; break; } part = part.replace(/\/[^/]*\/?$/, ""); } } }); </script> </head> <body> <div class="menu" id="menu1"> <a href="/razdel/">razdel/</a><br> <a href="/razdel/01.html">page-01</a><br> <a href="/razdel/02.html">page-02</a><br> <a href="/razdel/03.html">page-03</a> <div class="menu" id="menu2"> <a href="/razdel/podrazdel/">podrazdel/</a><br> <a href="/razdel/podrazdel/01.html">page-01</a><br> <a href="/razdel/podrazdel/02.html">page-02</a><br> <a href="/razdel/podrazdel/03.html">page-03</a> <div class="menu" id="menu3"> <a href="/razdel/podrazdel/podpodrazdel/">podpodrazdel/</a><br> <a href="/razdel/podrazdel/podpodrazdel/01.html">page-01</a><br> <a href="/razdel/podrazdel/podpodrazdel/02.html">page-02</a><br> <a href="/razdel/podrazdel/podpodrazdel/03.html">page-03</a> <div class="menu" id="menu4"> <a href="/razdel/podrazdel/podpodrazdel/podrazdel-a/">podrazdel-a/</a><br> <a href="/razdel/podrazdel/podpodrazdel/podrazdel-a/01.html">page-01</a><br> <a href="/razdel/podrazdel/podpodrazdel/podrazdel-a/02.html">page-02</a><br> <a href="/razdel/podrazdel/podpodrazdel/podrazdel-a/03.html">page-03</a> </div> </div> </div> </div> </body> </html> |
Чтобы ссылка не нажималась можно так...
.act { pointer-events: none; } Непонятно зачем вы это удалили! Для вас имеет какой-то сакральный смысл элемент <span>? Зачем вы удаляете все отступы в коде? https://javascript.ru/forum/505820-post124.html |
Malleys,
ссылка хоть не нажималась, но не подсвечивалась у меня есть какая то старая версия оперы-мини которая даже радиус углов не распознаёт, этим я хочу сказать, что если я сама могу обновить свой браузер до последней версии, то заставить всех посетителей обновлять браузеры я не могу, так же нельзя предугадать с какого браузера зайдёт посетитель, поэтому желательно чтобы скрипт работал во всех браузерах и старых версиях тоже (разные недоразумения типа ослика иа в список не входят). |
Так напишите в .act как должна выглядеть эта ссылка!
99.9% обычных людей заходят с обновлённого браузера, остальные являются параноиками, веб-программистами, веб куда-то скатился, против всех, гугл следит, люблю хрюшу, гиками, ночтальгия по 2007... а вы тут со своим border-radius Я не знаю, как вы проверяете свой код, но почему бы его не запускать в песочнице, типа печатаете и сразу результат видно... Цитата:
У вас прямо философия получается: меняю кнопку на див, ссылку на спан. Давайте угадаю, дальше идёт: меняю стиль на блок, картинку на холст... как зачем? Меняю текст на картинку! Какой баг!!! типа печатаете и сразу результат видно, а то ваш ларёк на погроммирование в аду похож! И попробуй введи обратный слеш! |
возможно ли сделать со спаном или нет?
|
Цитата:
|
Цитата:
дальше я просто спросила про скрипт для более сложного сайта, где много папок и страниц, с большой вложенностью, я воспринимаю это как отдельные скрипты, каждый предназначеный для похожих но немного разных целей. |
Вот оно для одного и другого вместе, объединил, проверьте...
<!doctype html> <html> <head> <title>transform</title> <style> body { font: 14px normal Times, serif; } div { border: 1px solid #999; padding: 5px; margin: 5px; } a { color: #005aff; text-decoration: none; } a:visited { color: #5995ff; text-decoration: none; } a:hover { color: #7a00ff; text-decoration: none; } .act { text-decoration: underline; } .efg { color: #167016; } .def { color: #127a12; } .cde { color: #0d850d; } .bcd { color: #068f06; } .abc { color: #009900; } </style> <script> document.addEventListener("DOMContentLoaded", function() { var links = Array.prototype.slice.call(document.links); var classes = ["act", "abc", "bcd", "cde", "def", "efg"]; var href = location.href; for(var index = 0, length = links.length, link; index < length; index++) { link = links[index]; for(var level = 0, part = href; level < classes.length; level++) { if(link.href === part || link.href === part + "/") { if(level === 0) { var p = document.createElement("span"); p.className = classes[level]; p.innerHTML = link.innerHTML; link.parentNode.replaceChild(p, link); } else { link.className = classes[level]; } break; } part = part.replace(/\/[^/]*\/?$/, ""); } } }); </script> </head> <body> <div class="menu" id="menu1"> <a href="/razdel/">razdel/</a><br> <a href="/razdel/01.html">page-01</a><br> <a href="/razdel/02.html">page-02</a><br> <a href="/razdel/03.html">page-03</a> <div class="menu" id="menu2"> <a href="/razdel/podrazdel/">podrazdel/</a><br> <a href="/razdel/podrazdel/01.html">page-01</a><br> <a href="/razdel/podrazdel/02.html">page-02</a><br> <a href="/razdel/podrazdel/03.html">page-03</a> <div class="menu" id="menu3"> <a href="/razdel/podrazdel/podpodrazdel/">podpodrazdel/</a><br> <a href="/razdel/podrazdel/podpodrazdel/01.html">page-01</a><br> <a href="/razdel/podrazdel/podpodrazdel/02.html">page-02</a><br> <a href="/razdel/podrazdel/podpodrazdel/03.html">page-03</a> <div class="menu" id="menu4"> <a href="/razdel/podrazdel/podpodrazdel/podrazdel-a/">podrazdel-a/</a><br> <a href="/razdel/podrazdel/podpodrazdel/podrazdel-a/01.html">page-01</a><br> <a href="/razdel/podrazdel/podpodrazdel/podrazdel-a/02.html">page-02</a><br> <a href="/razdel/podrazdel/podpodrazdel/podrazdel-a/03.html">page-03</a> </div> </div> </div> </div> </body> </html> Надо для простого пишите var classes = ["act"]; Надо для сложного пишите var classes = ["act", "abc", "bcd", "cde", "def", "efg"]; Строка 21 в этом посте |
Часовой пояс GMT +3, время: 20:18. |