Добавление к URL сопоставления .содержит () текстовое значение

Я пишу расширение Chrome для себя и не могу обойти это. У меня есть тонна пользователей, регистрирующихся ежедневно, которые всегда имеют одно и то же ключевое слово «examplespamuser» в их полном имени.

Я могу подчеркивать и регистрировать все результаты сопоставления в консоли, но я хотел бы изменить значение URL соответствующих пользователей, добавив что-то к URL.

Бит jQuery, который я использую сейчас для регистрации пользователей и их URL-адресов:

    $(".profile-link:contains('examplespamuser')").css("text-decoration", "underline").each(function() {
        console.log($(this).attr('href'));
    });

Пользователи отображаются с их полным именем, которое всегда содержит «examplespamuser» и часть выше работает хорошо. У пользователей есть ссылка, по которой вы http://example.com/examplespamuser123/something тем не менее, я хотел бы изменить этот URL-адрес только для совпадающих пользователей, поэтому вместо этого он будет http://example.com/examplespamuser123/something/else .

Заметьте, я совсем новичок в jQuery и JS, поэтому я даже не уверен, что я на правильном пути здесь. Любая помощь была бы очень признательна!

1 ответ

  1. Если я понимаю вас правильно вам нужно изменить hrefspamuserссылку.

    Предполагая, что ваш фактический urlбудет http://example.com/examplespamuser123/something

    Просто сделайте что-то вроде этого

    скажем, ваш новый маршрут /something/else

    var newRoute = "/something/else";
    
    $(".profile-link:contains('examplespamuser')").css("text-decoration", "underline").each(function() {
        var url = $(this).attr('href');
        console.log(url); //actual url
        $(this).attr('href', modifiedUrl(url));
        var url = $(this).attr('href');
        console.log(url); //modified url
    });
    
    function modifiedUrl(url){
        var splitted = url.split("//")[1];
        var furtherSplitted = splitted.split("/").slice(0, -1); //removing last route `/something`
        var withUserName = furtherSplitted.join("/");
        return "http://" + withUserName + newRoute;
    }
    a.profile-link{
     text-decoration: underline;
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <a class="profile-link" href="http://example.com/examplespamuser123/something">
      examplespamuser123
    </a>