const cardSelector = '.post';
const buttonSelector = '.post > img';
const menuSelector = '.post-info';
const activeClass = 'active';
document.addEventListener('click', ({ target: t }) => {
if (!t.closest(menuSelector)) {
document.querySelectorAll(menuSelector).forEach(n => n.classList.remove(activeClass));
}
if (t.matches(buttonSelector)) {
t.closest(cardSelector).querySelector(menuSelector).classList.add(activeClass);
}
});
Пара́метр в программировании — принятый функцией аргумент. Термин «аргумент» подразумевает, что конкретно и какой конкретной функции было передано, а параметр — в каком качестве функция применила это принятое. То есть вызывающий код передает аргумент в параметр, который определен в члене спецификации функции.
function sayHello(имя, фамилия) {
return "Hello " + имя + ' ' + фамилия;
}
sayHello('Гадя', 'Петрович');
И зачем вообще все это, если все и без этого работает?Если у вас и так всё работает - не используйте. Однажды появится ситуация, что вы пытаетесь повесить обработчик на форму, а она еще не загружена - придется использовать DOMContentLoaded. Или однажды нужно будет скриптом учесть высоту какого-то блока, но стили еще не прогрузились - тогда воспользуетесь window.load. А пока и так работает, зачем лишний раз изображать карго культ?
Preferences->Key Bindings - Default
{
"keys": ["shift+ctrl+w"],
"command": "insert_snippet",
"args": {
"name": "Packages/XML/long-tag.sublime-snippet"
}
},
Preferences -> Key Bindings - User
"keys": ["shift+ctrl+w"]
"keys": ["ctrl+1"]