Para obtener un elemento utiliza el método querySelector que recibe un selector CSS válido y retorna el primer elemento que coincida o null si no coincide ninguno
// retorna el formulario con id my-formvarform=document.querySelector("form#my-form");form.tagName;// "form"form.id;// "my-form"form.style;// retorna un objeto con los estilos del elementoform.attributes;// retorna un objeto con los atributos del elemento
Puedes encontrar todos los atributos y métodos de los elementos en este recurso.
Para obtener varios elementos utiliza el método querySelectorAll que es similar a querySelector pero retorna todos los elementos que coinciden:
Insertando elementos
Para insertar elementos en el documento utiliza el método createElement para crear el elemento y appendChild para agregarlo. Por ejemplo, asumiendo que tenemos un div en el documento:
Para agregar texto puedes utilizar el método createTextNode, el atributo innerHTML o el atributo textContent:
Nota:innerHTML no sólo te permite agregar texto, también puedes agregar HTML, así que se puede ver como otra forma de insertar elementos.
Removiendo elementos
Para eliminar un elemento debes invocar el método removeChild :
Agregando y removiendo clases de CSS
Utiliza la propiedad classList para listar, agregar y eliminar clases de CSS de un elemento.
Asumiendo que tenemos un div con clases one two three:
Podemos listar, agregar y eliminar clases de la siguiente forma:
Otro método útil que podemos utilizar sobre classList es toggle que agrega una clase si no la tiene o la remueve de lo contrario:
// retorna todos los div del documento
var divs = document.querySelectorAll("div");
for(var div of divs.entries()) {
console.log(div);
}
var ul = document.createElement("ul");
var div = document.querySelector("div");
div.appendChild(ul);
var p = document.createElement("p");
// con createTextNode
var text = document.createTextNode("Hola");
p.appendChild(text);
// con innerHTML
p.innerHTML = "Hola";
// con textContent
p.textContent = "Hola";
var element = document.querySelector("div");
element.parentNode.removeChild(element);
<div class="one two three"></div>
var div = document.querySelector("div");
div.classList; // "one two three"
div.classList.add("four");
div.classList.remove("one");
div.classList.toggle("one"); // agrega "one" si no existe o lo remueve si existe