как часть моего процесса обучения в качестве разработчика интерфейса, я решил создать продукт без jQuery и вместо этого использовать ванильный JavaScript для выполнения всех моих взаимодействий.Вызов функции только для одного div определенного класса с использованием чистого JS
Я хочу вызвать функцию onClick и получить позиционирование только узла DOM, который я нажал, который является частью класса. Однако я не знаю, как это было бы сделано в чистом JavaScript. В основном я хочу реплицировать то, что $ (this) делает в jQuery.
Вот мой код ниже до сих пор:
function expand(name) {
var elem = document.querySelectorAll(name)
for (var i = 0; i < elem.length; i++) {
var rect = elem[i].getBoundingClientRect();
console.log(rect.top, rect.right, rect.bottom, rect.left);
}
}
document.querySelectorAll(".box").onclick = expand(this)
Заранее спасибо и любые другие возможные пути решения этой проблемы очень ценятся.
Для начала эта строка неверна: 'document.querySelectorAll (". Box "). Onclick = expand (this)' вы используете функцию 'expand' и присваиваете ее возвращаемому значению (' undefined') для ' onclick'. Вторая проблема заключается в том, что 'querySelectorAll' вернет коллекцию. Вам нужно индексировать коллекцию для доступа к отдельным элементам, чтобы вы могли назначить обработчик 'onclick'. –
Эта [ссылка] (http://www.sitepoint.com/javascript-this-event-handlers/) может оказаться полезной для вас. –