Open vikramlc opened 4 years ago
Nodes & Elements:
defer -> Download the javascript early but run it once the HTML has been parsed.
<script src="app.js" defer></script>
Node Query Methods:
document.body => Selects the <body> element node.
document.head => Selects the <head> element node.
document.documentElement => Selects the <html> element node.
QUERY METHODS
document.querySelector(<CSS selector>);
Takes any CSS selector (e.g. '#some-id', '.some-class' or 'div p.some-class') and returns the first (!) matching element in the DOM. Returns null if no matching element could be found.
More information: https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector
document.getElementById(<ID>);
Takes an ID (without #, just the id name) and returns the element that has this id. Since the same ID shouldn't occur more than once on your page, it'll always return exactly that one element. Returns null if no element with the specified ID could be found.
More information: https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementById
document.querySelectorAll(<CSS selector>);
Takes any CSS selector (e.g. '#some-id', '.some-class' or 'div p.some-class') and returns all matching elements in the DOM as a static (non-live) NodeList. Returns and empty NodeList if no matching element could be found.
More information: https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll
document.getElementsByClassName(<CSS CLASS>);
Takes a CSS class g (e.g. 'some-class') and returns a live HTMLCollection of matched elements in your DOM. Returns an empty HTMLCollection if not matching elements were found.
More information: https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByClassName
document.getElementsByTagName(<HTML TAG>);
Takes an HTML tag (e.g. 'p') and returns a live HTMLCollection of matched elements in your DOM. Returns an empty HTMLCollection if not matching elements were found.
More information: https://developer.mozilla.org/en-US/docs/Web/API/Element/getElementsByTagName
There also is the getElementsByName() method which really isn't used commonly (https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByName).
Live node: First, query the node, and get the list. Changing the node after that also reflects in the list.
Non-Live node: First, query the node, and get the list. Changing the node after that does not reflect in the list.