Замените несвязанный URL новой ссылкой, не уничтожая старую

// Convert plain text such as http, https to links.
document.addEventListener("DOMContentLoaded", (D) => {
    let DIVS = document.querySelector(`#ba > div > div:nth-child(2) > div > div.ClapLv2AnswerItem_Chie-AnswerItem__ItemText__3yFYH > div > h2,
#my_prof > div.ClapLv2MyProfile_Chie-MyProfile__Main__6htk1 > div.ClapLv2MyProfile_Chie-MyProfile__Content__2l5hM > div:nth-child(2) > div:nth-child(3)`);
    let Text = '/((https?://|ftp://|//|https?://\r?\n)[\w?=&./-;#~%-]+(?![\w?&\./;#~%"=\+-]*>))/g';
    let change_link = '<a href = "$1">$1</a>';
    for (let j = 0; j < Text.length; j++) {
        if (DIVS.innerHTML.match(Text[j])) {
            DIVS.innerHTML.replace(/((https?://|ftp://|//|https?://\r?\n)[\w?=&./-;#~%-]+(?![\w\s?&./;#~%"=-]*>))/g, change_link);
        }
    }
});

Например, в приведенном выше описании вы можете заменить несвязанный URL-адрес ссылкой, но если URL-адрес уже связан, форма существующей ссылки может быть потеряна, и вы не сможете успешно перейти к месту назначения ссылки. Был такой случай.

if (( DIVS.innerHTML != change_link )){if (!( change_link )){

Я добавил описание вроде, и если это уже была ссылка, я попробовал процесс, который не преобразует его в ссылку, но похоже, что условное ветвление невозможно.

Как мне это написать? пожалуйста, скажите мне.

Перебирать все текстовые узлы; не заменяйте innerHTML. Например. Как автоматически заключать текстовые URL в теги привязки.

Sebastian Simon 04.04.2021 09:51

Спасибо за точный совет. Если у вас есть солидные знания, я был бы признателен, если бы вы могли ответить.

appren_tice 04.04.2021 10:04
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
2
107
0

Другие вопросы по теме

Похожие вопросы

Как получить доступ к данным GCP в браузере через javascript?
Я работаю над TODO, я хочу, чтобы между изображением корзины и изображением стиля списка было пространство, но когда я применяю свойство flex в «списке», изображение исчезает
Программное изменение элемента выбора html не запускает события
Правильное использование "call" в Javascript для доступа к свойствам объекта
Можно ли импортировать экспортированный класс модуля JavaScript как класс взаимодействия в Blazor?
Есть ли способ перегруппировать массив JavaScript в меньший подмассив?
Добавить новые объекты из двух отдельных дат в js
TypeError: невозможно прочитать карту свойств undefined React.Js после перехода с 1 компонента на 2 родительских дочерних компонента
Почему при настройке autocompleteSearchBox componentRestrictions страна объекта на карте Google не меняет его местоположение?
Добавить в Календарь Google ссылку для рендеринга, не отображающую местное время пользователя