Как преобразовать этот jquery в javascript?

Я использую этот код jquery и хочу преобразовать его в javascript. Я недавно начал javascript и немного разбираюсь в jquery.

<script src = "https://code.jquery.com/jquery-2.2.4.js"></script>
<script type = "text/javascript">
  $(document).ready(function () {
    $(".row a").click(function (e) {
      e.preventDefault();
      $(".imgBox img ").attr("src", $(this).attr("href"));
    });
  });
</script>

Я всегда думал, что jQuery был JavaScript... В любом случае, можете ли вы предоставить HTML, к которому применяется этот скрипт?

trincot 29.03.2022 16:03

Вы можете выполнить онлайн-поиск этих функций jQuery, например «функция jQuery Икс в ванильном Javascript».

user1599011 29.03.2022 16:05

Это еще один полезный ресурс: tobiasahlin.com/blog/move-from-jquery-to-vanilla-javascript

GrafiCode 29.03.2022 16:10

Мой любимый инструмент для поиска эквивалента JavaScript — youmightnotneedjquery.com, но это не автоматический инструмент, и вам нужно немного знать JavaScript, чтобы конвертировать

Cristian Traìna 29.03.2022 16:13
Поведение ключевого слова "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) для оценки ваших знаний,...
1
4
38
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Эквивалент в ванильном JavaScript (я добавил немного HTML, чтобы он работал):

document.addEventListener('DOMContentLoaded', function () {
    document.querySelectorAll(".row a").forEach(function(elem) {
        elem.addEventListener("click", function (e) {
            e.preventDefault();
            document.querySelector(".imgBox img").src = elem.href;
        });
    });
});
<div class = "row">
    <a href = "https://dummyimage.com/600x120/000/fff">link 1</a>
</div>
<div class = "row">
    <a href = "https://dummyimage.com/600x120/00f/f88">link 2</a>
</div>
<div class = "imgBox"><img src = ""/></div>

Можете ли вы объяснить этот код по частям? Я новичок в js

Private Xoxo 29.03.2022 16:37

Он делает то же, что и ваш код jQuery, так что должно объяснять, что делает этот код? Все эти методы объясняются на mdn: addEventListener, querySelectorAll, для каждого, селектор запросов.

trincot 30.03.2022 07:27

Следуя инструкции из этой шпаргалки: https://tobiasahlin.com/blog/move-from-jquery-to-vanilla-javascript/

const ready = (callback) => {
  if (document.readyState != "loading") callback();
  else document.addEventListener("DOMContentLoaded", callback);
}

ready(() => { 
  /* Do things after DOM has fully loaded */
  document.querySelector(".row a").addEventListener("click", (e) => {
    e.preventDefault();
    document.querySelector(".imgBox img ").setAttribute('src', document.querySelector(".imgBox img ").getAttribute('href));
  });
});

используйте const вместо var. Давайте не будем распространять плохие практики :)

Cristian Traìna 29.03.2022 16:15

@CristianTraìna достаточно честно, ответ отредактирован

GrafiCode 29.03.2022 16:16

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