Menú animado con CSS3

El siguiente ejemplo nos vuelve a mostrar las posibilidades que nos ofrecen las transiciones
de CSS3.

HTML:

 <ul>
        <li>Botón 1</li>
        <li>Botón 2</li>
        <li>Botón 3</li>
        <li>Botón 4</li>
        <li>Botón 5</li>
</ul>

CSS:

ul {
  display: table;
  width: 400px;
}
li {
  display: table-cell;
  width: 20%;
  height: 50px;
  line-height: 50px;
  text-align: center;
  cursor: pointer;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
}
ul:hover li {
  width: 15%;
}
li:hover {
  width: 40% !important;
  opacity: 0.7;
}
ul li:nth-of-type(1) { background: #FF4C4C; }
ul li:nth-of-type(2) { background: #FFBF49; }
ul li:nth-of-type(3) { background: #444444; }
ul li:nth-of-type(4) { background: #6FDC6F; }
ul li:nth-of-type(5) { background: #3AADFE; }

Ver ejemplo en funcionamiento » »

Eliminar los tags de una cadena con javascript

La siguiente instrucción javascript, dada una cadena elimina los tags de la misma.

var att = cadena.replace(/(<([^>]+)>)/ig,"");

Un ejemplo podría ser:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Remove Tags</title>
<script type="text/javascript">
	var cadena = "<p>Esto es una cadena de <strong>texto</strong></p>";
	var att = cadena.replace(/(<([^>]+)>)/ig,"");
	alert(att);
</script>
</head>
<body>
</body>
</html>

Ver ejemplo en funcionamiento » »

Accediendo al DOM con jQuery: 10+ útiles snippets

Este post es una traducción libre del post Manipulating the DOM with jQuery: 10+ useful code snippets, publicado en catswhocode.

Añadir una clase CSS a un elemento
Una forma muy sencilla de cambiar el aspecto y funcionalidad de un elemento es añadirle un clase CSS.

('#mielemento').addClass('miclase');

Eliminar una clase CSS de un elemento
Al igual que es útil conocer como añadir clases CSS, también es interesante conocer como eliminar clases CSS no deseadas.

$('#mielemento').removeClass('miclase');

Comprobar si un elemento posee una clase CSS
Si en tu aplicación o sitio web se añaden y eliminan clases para un elemento en particular, puede ser muy útil ser capaces de comprobar si un elemento contiene cierta clase.

$('#mielemento').hasClass'miclase');

Cambiar de CSS usando jQuery
Tal y como hemos visto en los ejemplos anteriores, añadir o eliminar clases CSS a un elemento es muy sencillo utilizando jQuery. Pero, qué ocurre si lo que queremos es eliminar completamente una hoja de estilos y adjuntar una nueva. Es muy fácil, tal y como se muestra en el siguiente ejemplo:

$('link[media='screen']').attr('href', 'css_alternativo.css');

Anexar HTML a un elemento
Cuando necesitamos anexar html a un elemento, podemos utilizar el método append():

$('#mielemento').append('texto que será añadido');

Comprobar si un elemento existe
Cuando trabajamos con Javascript, a menudo necesitamos comprobar si un elemento existe o no. Usando jQuery y la propiedad length es muy sencillo hacerlo: si length == 0, no existen elementos usados en la página.

if ($('img').length) {
		alert('Se han encuntrado elementos img en la página');
} else {
		alert('No se han encontrado elementos img');
}

Obtener el padre de un elemento
Cuando trabajamos con el DOM, podemos necesitar conocer qué elemento es el padre directo de otro elemento. El método closest() nos permite averiguarlo.

var id = $("button").closest("div").attr("id");

Obtener los hermanos de un elemento
El método sibings() es una herramienta muy útil para obtener los hermanos de un elemento:

$('mielemento').siblings()

Eliminar una opción de una lista desplegable
Cuando trabajamos con listas desplegables puede ser útil actualizar su contenido de acuerdo a las acciones del usuario. Para eliminar una opción de un select, podemos utilizar el siguiente truco:

$("#selectList option[value='2']").remove();

Obtener la opción seleccionada como texto
Útil cuando deseamos conocer que es lo que un usuario ha seleccionado de un lista desplegable.

$('#selectList :selected').text();

Aplicar un efecto “cebra” a las tablas
Cuando usamos tablas, es una buena idea, para mejorar la legibilidad, aplicar un estilo "cebra" a las filas.

$("tr:odd").addClass("odd");

Contar los hijos de un elemento
Si queremos contar cuantos elementos div son hijos de #foo, la siguiente línea nos permitirá saberlo.

$("#foo > div").length

jQuery: numerar una lista

Supongamos que tenemos la siguiente lista:

<ul>
    <li>manzanas</li>
    <li>fresas</li>
    <li>peras</li>
</ul>
<ul>
    <li>tomates</li>
    <li>zanahorias</li>
</ul>

para numerarla mediante Jquery podemos utilizar la función prepend:

$(document).ready(function() {
        $('ul > li').each(function () {
            $(this).prepend("(" + 
                ($(this).index() + 1) + ") ");
        });
});

Ver ejemplo en funcionamiento » »

Javascript: mostrar el contenido de un objeto

Para imprimir el contenido completo de un objeto, en Firefox, podemos utilizar la siguiente instrucción:

alert(object.toSource());

También se puede acceder a todos los elementos de un objeto mediante un bucle foreach. La siguiente función ImprimirObjeto monstrará un alert() que muestra todas las propiedades y los valores respectivos.

function ImprimirObjeto(o) {
  var salida = '';
  for (var p in o) {
    salida += p + ': ' + o[p] + '\n';
  }
  alert(salida);
}

Por ejemplo:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>imprimir objeto</title>
<script type="text/javascript">
function ImprimirObjeto(o) {
  var salida = '';
  for (var p in o) {
    salida += p + ': ' + o[p] + '\n';
  }
  alert(salida);
}
var Objeto = {'algo1': 1, 'algo2': 2};
</script>
</head>
<body>
<a href="javascript:ImprimirObjeto(Objeto);">mostrar</a>
</body>
</html>

Ver ejemplo en funcionamiento » »