Jquery Checkbox marcar todo

No soy experto en jQuery, pero he intentado crear un pequeño script para mi aplicación. Quiero marcar todas las casillas de verificación, pero no funciona correctamente.

Primero intenté usarattr y después de eso intenté conprop pero estoy haciendo algo mal

Intenté esto primero

$("#checkAll").change(function(){

  if (! $('input:checkbox').is('checked')) {
      $('input:checkbox').attr('checked','checked');
  } else {
      $('input:checkbox').removeAttr('checked');
  }       
});

Pero esto no funcionó.

Siguiente: Esto funcionó mejor que el código anterior

$("#checkAll").change(function(){

  if (! $('input:checkbox').is('checked')) {
      $('input:checkbox').prop('checked',true);
  } else {
      $('input:checkbox').prop('checked', false);
  }       
});

Ambos ejemplos no funcionan. Traté de buscar una respuesta en Google pero no tuve éxito.

jsFiddle:http://jsfiddle.net/hhZfu/4/

Gracias

Respuestas a la pregunta(26)

Su respuesta a la pregunta