$passwordField = $('.your-selector');
attribites = {
id: $passwordField.attr('id'),
type: $passwordField.attr('type') === 'password' ? 'text' : 'password',
name: $passwordField.attr('name'),
value: $passwordField.attr('value'),
class: $passwordField.attr('class'),
};
$passwordField.replaceWith($('<input/>', attribites));
$resets = $('.downMenu').find('.reset');
$resets.toggleClass('some-class', $resets.length < 4);
searchInput.is(":visible")
.Что это такое — «понимать замыкания?»
Иногда говорят «Вася молодец, понимает замыкания!». Что это такое — «понимать замыкания», какой смысл обычно вкладывают в эти слова?
«Понимать замыкания» в JavaScript означает понимать следующие вещи:
- Все переменные и параметры функций являются свойствами объекта переменных LexicalEnvironment. Каждый запуск функции создает новый такой объект. На верхнем уровне им является «глобальный объект», в браузере — window.
- При создании функция получает системное свойство [[Scope]], которое ссылается на LexicalEnvironment, в котором она была создана.
- При вызове функции, куда бы её ни передали в коде — она будет искать переменные сначала у себя, а затем во внешних LexicalEnvironment с места своего «рождения».
В нативном Javascript есть метод elem.classList.contains("test-class"), который возвращает true/false в зависимости от того, есть ли класс ("test-class") у элемента (elem) ИЛИ его потомков.