Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как кликом по ссылке скрыть ее, а на ее месте вызвать div блок? (https://javascript.ru/forum/misc/80730-kak-klikom-po-ssylke-skryt-ee-na-ee-meste-vyzvat-div-blok.html)

Lefseq 22.07.2020 14:56

Как кликом по ссылке скрыть ее, а на ее месте вызвать div блок?
 
Здравствуйте. Помогите, пожалуйста решить небольшую задачу. Нужно чтобы при клике на обычную ссылку (без перехода на страницу) эта ссылка исчезала, а на ее месте появлялся див блок. Как это сделать?

Nexus 22.07.2020 16:14

<a href="https://google.com/">Click me</a>

<script>
document.querySelector('a').addEventListener('click', function(e) {
    e.preventDefault();

    const div = document.createElement('div');
    div.innerHTML = 'div';

    this.outerHTML = div.outerHTML;
});
</script>


Или так (более предпочтительнее):
<a href="https://google.com/">Click me</a>

<script>
document.querySelector('a').addEventListener('click', function(e) {
    e.preventDefault();

    const div = document.createElement('div');
    div.innerHTML = 'div';
    
    this.parentNode.insertBefore(div, this);
    this.parentNode.removeChild(this);
});
</script>

Lefseq 22.07.2020 20:05

Nexus,
Спасибо большое!

Lefseq 23.07.2020 07:29

Nexus,
Сразу не заметил, но получается, так, что это работает только для одной ссылке (для одного клика). А если на странице несколько ссылок, как сделать, так, чтобы кликая по нескольким ссылкам скрывать их и выводить div блоки?

Nexus 23.07.2020 13:32

Используйте:
https://developer.mozilla.org/ru/doc...erySelectorAll

slawkanikitin 23.07.2020 14:09

Спасибо большое, как я давно это искал!

Lefseq 23.07.2020 19:36

Nexus,
Я не понимаю, что мне с этим делать? Вы бы не могли конкретно показать, что и где нужно прописать?

Nexus 23.07.2020 21:29

Lefseq, приложите хоть какие-либо усилия для решения этой задачи.
Покажите код, который у вас получился и я либо кто-нибудь другой подскажем, что в вашем коде нужно поправить.

Альтернативный вариант - создать топик в разделе «Работа», правила раздела только прочитайте.


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