Atributos en JQuery
Atributos en JQuery
Los atributos de los elementos HTML que conforman una aplicación pueden contener información útil, por eso es importante poder establecer y obtener esa información.
El método $.fn.attr actúa tanto como método establecedor como obtenedor. Además, al igual que el método $.fn.css, cuando se lo utiliza como método establecedor, puede aceptar un conjunto de palabra clave-valor o un objeto conteniendo más conjuntos.
Establecer atributos
$(‘a’).attr(‘href’, ‘allMyHrefsAreTheSameNow.html’);
$(‘a’).attr({
‘title’ : ‘all titles are the same too’,
‘href’ : ‘somethingNew.html’
});
En el ejemplo, el objeto pasado como argumento está escrito en varias líneas. Como se explicó anteriormente, los espacios en blanco no importan en JavaScript, por lo cual, es libre de utilizarlos para hacer el código más legible. En entornos de producción, se pueden utilizar herramientas de minificación, los cuales quitan los espacios en blanco (entre otras cosas) y comprimen el archivo final.
Obtener atributos
$(‘a’).attr(‘href’); // devuelve el atributo href perteneciente
// al primer elemento <a> del documento
Recorrer el DOM
Una vez obtenida la selección, es posible encontrar otros elementos utilizando a la misma selección.
En http://api.jquery.com/category/traversing/ puede encontrar una completa documentación sobre los métodos de recorrido de DOM (en inglés traversing) que posee jQuery.
Nota
Debe ser cuidadoso en recorrer largas distancias en un documento — recorridos complejos obligan que la estructura del documento sea siempre la misma, algo que es difícil de garantizar. Uno -o dos- pasos para el recorrido esta bien, pero generalmente hay que evitar atravesar desde un contenedor a otro.
Moverse a través del DOM utilizando métodos de recorrido
$(‘h1’).next(‘p’); // seleccionar el inmediato y próximo
// elemento <p> con respecto a H1
$(‘div:visible’).parent(); // seleccionar el elemento contenedor
// a un div visible
$(‘input[name=first_name]’).closest(‘form’); // seleccionar el elemento
// <form> más cercano a un input
$(‘#myList’).children(); // seleccionar todos los elementos
// hijos de #myList
$(‘li.selected’).siblings(); // seleccionar todos los items
// hermanos del elemento <li>
También es posible interactuar con la selección utilizando el método $.fn.each. Dicho método interactúa con todos los elementos obtenidos en la selección y ejecuta una función por cada uno. La función recibe como argumento el índice del elemento actual y al mismo elemento. De forma predeterminada, dentro de la función, se puede hacer referencia al elemento DOM a través de la declaración this.
Interactuar en una selección
$(‘#myList li’).each(function(idx, el) {
console.log(
‘El elemento ‘ + idx +
‘contiene el siguiente HTML: ‘ +
$(el).html()
);
});
Manipulación de Elementos
Una vez realizada la selección de los elementos que desea utilizar, “la diversión comienza”. Es posible cambiar, mover, remover y duplicar elementos. También crear nuevos a través de una sintaxis simple.
La documentación completa sobre los métodos de manipulación puede encontrarla en la sección Manipulation: http://api.jquery.com/category/manipulation/.
Obtener y Establecer Información en Elementos
Existen muchas formas por las cuales de puede modificar un elemento. Entre las tareas más comunes están las de cambiar el HTML interno o algún atributo del mismo. Para este tipo de tareas, jQuery ofrece métodos simples, funcionales en todos los navegadores modernos. Incluso es posible obtener información sobre los elementos utilizando los mismos métodos pero en su forma de método obtenedor.
Nota
Realizar cambios en los elementos, es un trabajo trivial, pero hay debe recordar que el cambio afectará a todos los elementos en la selección, por lo que, si desea modificar un sólo elemento, tiene que estar seguro de especificarlo en la selección antes de llamar al método establecedor.
Nota
Cuando los métodos actúan como obtenedores, por lo general, solamente trabajan con el primer elemento de la selección. Además no devuelven un objeto jQuery, por lo cual no es posible encadenar más métodos en el mismo. Una excepción es el método $.fn.text, el cual permite obtener el texto de los elementos de la selección.
$.fn.html
Obtiene o establece el contenido HTML de un elemento.
$.fn.text
Obtiene o establece el contenido en texto del elemento; en caso se pasarle como argumento código HTML, este es despojado.
$.fn.attr
Obtiene o establece el valor de un determinado atributo.
$.fn.width
Obtiene o establece el ancho en pixeles del primer elemento de la selección como un entero.
$.fn.height
Obtiene o establece el alto en pixeles del primer elemento de la selección como un entero.
$.fn.position
Obtiene un objeto con información sobre la posición del primer elemento de la selección, relativo al primer elemento padre posicionado. Este método es solo obtenedor.
$.fn.val
Obtiene o establece el valor (value) en elementos de formularios.
Si quieres seguir aprendiendo con nosotros, puedes ingresar a nuestros