ProgramandooIntentándolo

4 Dic 2017

Cómo comprobar si un elemento está visible con jQuery

Comprobar si un elemento esta visible con Jquery

Es habitual querer comprobar si un elemento concreto se está mostrando o no para ejecutar una acción u otra, y como no podía ser de otra forma jQuery nos permite comprobar si un elemento se está mostrando o no con la función .is(':visible') o .is(':hidden') para hacer la comprobación al reves.

Hasta aquí todo es muy bonito pero ¿qué es lo que comprueba esta función en realidad? pues simplemente comprueba el valore de la propiedad display, si es none (#elemento {display: none;}) entonces el elemento no está visible y en cualquier otro caso sí lo está.

// Si elemento esta visible lo oculta y si no lo muestra if ($('#elemento').is(':visible')) { $('#elemento').hide(); } else { $('#elemento').show(); } // Si el elemento2 esta oculto lo indica por consola y si no ejecuta una funcion if ($('#elemento2').is(':hidden')) ...
17 Nov 2017

Convertir un string JSON a un objeto en JavaScript y viceversa

json a javascript

Un JSON (JavaScript Object Notation) básicamente se puede decir que es un objeto javaScript metido dentro de una cadena de texto, aunque en realidad no es del todo cierto. JSON es una sintaxis para serializar objetos para el intercambio de datos basado en la nomenclatura de javaScript, es decir, son muy similares, pero no son iguales, por ejemplo, en JSON los nombres de las variables tienen que estar entre comillas dobles “” y en javaScript no.

Vamos a lo que vamos, hay 2 casos de conversión que podemos querer hacer JSON javaScript por ejemplo si tenemos guardado un JSON en el localStorage o si el método por el que lo obtenemos no hace la transformación automáticamente, y javaScript JSON para hacer el proceso inverso y enviar o almacenar nuestros objetos javaScript.

¿Cómo convertir un JSON a un objeto en javaScript? ...
19 Jun 2017

Control de eventos con jQuery para elementos HTML generados dinámicamente

Cuando el contenido de la página es estático es muy sencillo capturar los eventos con jQuery, ya sea por su id, por clase o de cualquier otra forma que podamos identificar los elementos para los que se quieren añadir eventos pero cuando se crea un nuevo elemento dinámicamente llega el “problema” porque los handlers (controladores, manejadores o como los quieras llamar) de jQuery solo capturan los eventos de los elementos que se crearon antes de que se crease el handler y por este motivo se suelen declarar en el $(document).ready() justo después de que este cargado todo el contenido de la página.

// Handlers para elementos creados antes de la declaracion $('.botonA').click(function(){ alert("Hola"); }); $('.botonB').on('click', function(){ alert("Hola"); }); Desasociar y volver a asociar los eventos

La primera idea para solucionarlo puede ser crear un nuevo handler cada vez que se crea el nuevo elemento pero la vamos a descartar porque ...

25 Mar 2017

Variables y nuevos tipos de objetos JavaScript 6

Como es un lenguaje no tipado en javaScript las variables pueden almacenar cualquier tipo de objeto y por este motivo todas las variables se declaraban de la misma forma, usando var o simplemente poniendo el nombre de la variable sin más, hasta la la versión 6 de javaScript (ECMAScript v6) en la que se han introducido las constantes y las variables de bloque.

También se han incluido nuevos tipos de objetos interesantes como mapas Map y conjuntos Set y la no menos interesante nueva forma para intercalar variables dentro de cadenas de texto.

“Tipos” de variables

En realidad más correcto que tipos de variables sería hablar de ámbito de las variables por que los tipos que hay lo que diferencian es el ámbito en el que serán visibles, con excepción de las constantes que en realidad sí que serían un tipo, o más bien lo contrario a una variable.

Variables ...
11 Jul 2016

Convertir XML a JSON con javaScript

Desde el punto de vista del intercambio de datos JSON es una alternativa mejor al XML o al menos para la mayoria de los casos ya que un JSON es más legible, su conversión es mas simple (sobre todo en javaScript que no hay que hacer nada) (JSON, acrónimo de JavaScript Object Notation)) y también ocupa menos espacio.

A pesar de todo sigue habiendo servicios web antiguos que usan XML y como es un proceso tedioso usarlo sobretodo cuando sabes que con JSON no hay que hacer nada, pues mejor hacer una vez una función que haga el trabajo sucio y convierta el xml a json.

Y la función es esta:

/** * Convierte un xml a un objeto javaScript * * @param xml * @returns Objeto javaScipt equivalente al xml */ function convertirXmlEnObjeto(xml) { var objeto = {}; var esRaiz = false; // Objeto "raiz" ...