// Selecting Elements: document is not the real DOM element. document.documentElement; // Select the entire page document.head; // Select the head document.body; // Select the body document.querySelector('.header'); // return first match const allSections = document.querySelectorAll('.section'); // return all-matches in a static NodeList document.getElementById('id-name'); // document.getElementsByClassName(''); // return all-matches in an live HTMLCollection const allBtns = document.getElementsByTagName('button'); // return all-matches in an live HTMLCollection // Creating & Inserting Elements: insertAdjacentHTML const msg = document.createElement('div'); // create a DOM element, stores it into msg msg.classList.add('cookie-msg'); // msg.textContent = 'We use cookies for improved functionality & analytics'; msg.innerHTML = 'We use cookies for improved functionality & analytics '; header.append(msg); // prepend: Adds the element as the first child. // append: Adds the element as the last child. // DOM element is unique, it can exist at only one place at a time. // To insert multiple copies of the same element, true refers all childNodes will also be copied. header.append(msg.cloneNode(true)); header.before(msg); // insert before header element as a sibling. header.after(msg); // insert after header element as a sibling. // Delete Elements: document.querySelector will also work, but below is another way. // remove() is a recent method, earlier we could only remove child elements by selecting the parent element first, then removing the child. Ex msg.parentElement.removeChild(msg); document.querySelector('btn-close').addEventListener('click', function(){ msg.remove(); }); // Styles: will be applied as inline styles. msg.style.backgroundColor = '#37383d'; msg.style.width = '120%'; msg.style.height; // won't show anything. This works only for properties which we have explicitly set like the above properties. getComputedStyle(msg).color; // will show a huge object containing all styles. getComputedStyle(msg).height; // Increase height by 10px msg.style.height = Number.parseFloat(getCOmputedStyle(msg).height,10) 40 'px'; document.documentElement.style.setProperty('--color-primary','orangered'); // Attributes const logo = document.querySelector('.nav__logo'); logo.alt; logo.className; // Setting an attribute using JS. logo.alt = 'Beautiful minimalist logo' // won't work as its not a standard attribute for that element. logo.designer; // Now it will work. logo.getAttribute('designer'); logo.setAttribute('company', 'Google'); logo.src; // absolute path logo.getAttribute('src'); // relative path // Both will be same as they are absolute in both cases. link.href; link.getAttribute('href'); // Data-attributes written in // HTML as data-version-number // JS as logo.dataset.versionNumber; // such special attributes are always stored in dataset object. // Classes logo.classList.add() // Can take multiple classes as args logo.classList.remove() // Can take multiple classes as args logo.classList.toggle() logo.classList.contains() // Overwrite all existing classes, replace with the bottom class mentioned. logo.className = 'xyz'
참고:
앵커 링크를 클릭하면 페이지가 맨 위로 이동합니다. 이는 e.preventDefault()
를 사용하여 방지됩니다.
NodeList는 배열이 아니지만 forEach 메소드가 있습니다.
예 btnOpenModal.forEach(btn => btn.addEventListener('click', openModal));
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3