Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   можно ли изменить цвет ссылок? и одну ссылку заменить на текст? (https://javascript.ru/forum/misc/76934-mozhno-li-izmenit-cvet-ssylok-i-odnu-ssylku-zamenit-na-tekst.html)

Блондинка 26.03.2019 11:26

Nexus, ?

Блондинка 26.03.2019 12:35

Цитата:

Сообщение от Блондинка (Сообщение 505451)
Фух, хоть кто-то ответил, я уже думала что все увидев мой вопрос в их адрес сразу выходят с форума, неудивлюсь если на днях увижу в сети серию анекдотов "блонди и яваскрипт"

ну точно, я угадала, все увидев меня срочно ретируются

Nexus 26.03.2019 12:44

Блондинка, не до конца понятно, что вы хотите, а что-то править основываясь на догадках не хочу.
Вчера какое-то представление о вашей цели было, сегодня нет.

Напишите, что конкретно вы хотите получить без использования слов "массив", "объект" и т.п.

Блондинка 26.03.2019 13:16

что бы ссылкам присваивался класс не xyz с номером 1-20 а абсолютно разные имена классов, xyz, zyx, abc, cba, и так далее, я просто в скрипте пишу нужные имена классов начиная от наибольшей вложенности, плюс скрипт считает сколько я внесла имен классов и это значение присваивает переменной maxPostfix.

Nexus 26.03.2019 13:30

Блондинка, сразу бы так...
Не тестировал.
var classes = ['latest', 'second', 'first'];
document.addEventListener('DOMContentLoaded', function() {
    //const uriWithoutParams=location.pathname.split(/[#|?]+/i).shift();
    var uriWithoutParams = '/menu/css/css3/transform.html'.split(/[#|?]+/i).shift();
    var extension = uriWithoutParams.split('.').pop();
    var uriParts = uriWithoutParams.replace('.' + extension, '').split('/').filter(function(part) {
        return part.length;
    });

    var reversedClasses = classes.reverse();
    var getClassName = function(index) {
        return reversedClasses[index];
    };

    var maxPostfix = classes.length;
    uriParts.forEach(function(uri, index) {
        uri = '/' + uriParts.slice(0, ++index).join('/') + '.' + extension;
        index = maxPostfix - (uriParts.length - index);
        if (index <= 0)
            return;

        var className = getClassName(index);
        [].forEach.call(document.querySelectorAll('a[href="' + uri + '"]'), function(node) {
            node.classList.add(className);
            if (index !== maxPostfix)
                return;

            var textNode = document.createElement('span');
            textNode.textContent = node.textContent;
            textNode.className = className;
            node.parentNode.insertBefore(textNode, node);
            node.parentNode.removeChild(node);
        });
    });
});

Блондинка 26.03.2019 16:12

Nexus,
а можно вопросик? что значит эта строчка
var uriWithoutParams = '/menu/css/css3/transform.html'.split(/[#|?]+/i).shift();

может правильнее было бы заменить на что-то типа location host?

Nexus 26.03.2019 16:16

Блондинка, это тестовый текущий путь. Стройкой выше был закомментирован правильный вариант.

Блондинка 26.03.2019 16:30

Nexus,
тоесть если я правильно поняла третью строку-коментирование надо удалить а четвёртую заменить на
var uriWithoutParams=location.pathname.split(/[#|?]+/i).shift();

Nexus 26.03.2019 16:40

Блондинка, в начале третье строки две кривые черточки нужно удалить, а в начале четвертой наоборот - добавить (ну или удалить эту строку вообще).

Malleys 26.03.2019 16:47

Цитата:

Сообщение от Блондинка
ну точно, я угадала, все увидев меня срочно ретируются

Вы абсолютно заблуждаетесь! Вас никто не видел!


Часовой пояс GMT +3, время: 16:36.