Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.01.2023, 16:31
DVV DVV вне форума
Кандидат Javascript-наук
Отправить личное сообщение для DVV Посмотреть профиль Найти все сообщения от DVV
 
Регистрация: 26.12.2017
Сообщений: 125

Сравнить ссылки между собой
Подскажите, пожалуйста, как сравнить ссылки между собой. Задача такая. Есть список ссылок в html. При вводе пользователем новой ссылки надо сравнить, есть ли такая уже в html. Почему то постоянно в консоль выдает, что такой ссылки нет, даже если вводить уже существующую. Вводить надо в правый инпут в разметке и нажать на кнопку "Добавить".

https://codepen.io/Viacheslav_Demchenko/pen/PoBEzMy
Ответить с цитированием
  #2 (permalink)  
Старый 20.01.2023, 17:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

DVV,
js не умеет в телепатию, значение value надо получать непосредственно перед сравнением, перенесите получение данных в функцию, иначе в text и link всегда будет пусто.
Ответить с цитированием
  #3 (permalink)  
Старый 20.01.2023, 19:48
DVV DVV вне форума
Кандидат Javascript-наук
Отправить личное сообщение для DVV Посмотреть профиль Найти все сообщения от DVV
 
Регистрация: 26.12.2017
Сообщений: 125

Все равно, что-то я не так делаю

https://codepen.io/Viacheslav_Demchenko/pen/PoBEzMy
Ответить с цитированием
  #4 (permalink)  
Старый 20.01.2023, 20:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

DVV,
нужна переменная -- цикл должен изменить эту переменную, если будет совпадение, и остановится -- после цикла если переменная не изменилась -- создаётся новый элемент.
Ответить с цитированием
  #5 (permalink)  
Старый 20.01.2023, 20:19
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

DVV,
<!DOCTYPE html>
<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">
</head>
<body>
    <div id="linkContainer">
        <a data-href="https://link1" class="js-additional-link">Ссылка 1</a>
        <a data-href="https://link2" class="js-additional-link">Ссылка 2</a>
    </div>
    <input type="text" id="text" value="есть такая">
    <input type="text" id="link" value="https://link1">
    <button id="add">Добавить</button>
    <script>
        const btnAdd = document.getElementById('add');
        const linkContainer = document.getElementById('linkContainer');
        const txt = document.getElementById('text');
        const lnk = document.getElementById('link');

        function checLinksForMatches() {
            const boxLinkNames = document.querySelectorAll('.js-additional-link');
            const text = txt.value;
            const link = lnk.value;
            if(!text || !link) return;
            let add = true;
            for (let mainLink of boxLinkNames) {
                if (mainLink.dataset.href === link) {
                    console.log('равна');
                    add = false;
                    break;
                }
            }
            if (add) {
                console.log('Не равна');
                const newLink = document.createElement('a');
                newLink.dataset.href = link;
                newLink.textContent = text;
                newLink.classList.add('js-additional-link');
                linkContainer.append(newLink);
                txt.value = '';
                lnk.value = '';
            }

        }
        btnAdd.addEventListener('click', checLinksForMatches);
    </script>
</body>
</html>
Ответить с цитированием
  #6 (permalink)  
Старый 21.01.2023, 20:56
DVV DVV вне форума
Кандидат Javascript-наук
Отправить личное сообщение для DVV Посмотреть профиль Найти все сообщения от DVV
 
Регистрация: 26.12.2017
Сообщений: 125

Спасибо большое
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Зависимость классов между собой worldsering Общие вопросы Javascript 9 07.04.2021 23:08
Сравнить переменные между собой Ermite Общие вопросы Javascript 17 02.05.2016 14:28
Связанные между собой данные при передачи по GET zhurchik Общие вопросы Javascript 8 19.03.2015 16:08
поиск ссылки по тексту, который расположен между тагом <a> gpg10 jQuery 7 09.11.2014 21:58
Функция взаимодействия двух независимых между собой величин dmitry111 Общие вопросы Javascript 5 20.08.2012 10:51