Añadir una clase cuando cambia el valor.

BitLiberal Seguir

Gamma
Redactor
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
25 Nov 2011
Mensajes
219
Hola, tengo un foro con un sistema de alertas, pero la forma de avisar es muy poco eficaz.
Lo que necesito es que cuando el valor que muestra el numero de notificaciones tenga una clase nueva a cuando el valor es 0.
Perdon si no me explico bien, pero lo represantare separado:
Cuando el valor de <span id="notificaciones"> sea 0, se quede como esta, pero cuando el valor de este span cambie a 1, a este se le añada una clase, asi por ejemplo: <span id="notificaciones" class="nuevas-notificaciones">1</span>.

Lo unico que he encontrado por internet es esto:
Insertar CODE, HTML o PHP:
$('#Notificaciones').text(numUnread);if(numUnread>0){$('#Notificaciones').addClass('nuevas-notificaciones');}else{$('#Notificaciones').removeClass('nuevas-notificaciones');}

Pero como no se del tema, no me funciona o algo estoy haciendo mal. Advierto que todo lo referido a la maquetacion CSS y HTML es cosa mia, solo necesito ese codigo.

Espero vuestras respuestas, gracias.
 

hugo1

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
28 Dic 2012
Mensajes
90
HTML:
if ( $('#notificaciones').text() == '1' ) $('#notificaciones').addClass('nuevas-notificaciones');
 

sandercrow

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
22 Ene 2013
Mensajes
32
La respuesta de hugo1 es buena, pero habria que cambiar text pot html y, si no he entendido mal, querías que cambiara, no cuando el valor fuera 1, si no cuando fuera distinto de 0:

if ($('#notificaciones').html() != '0'){
$('#notificaciones').addClass('nuevas-notificaciones');
}
 

BitLiberal

Gamma
Redactor
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
25 Nov 2011
Mensajes
219
La respuesta de hugo1 es buena, pero habria que cambiar text pot html y, si no he entendido mal, querías que cambiara, no cuando el valor fuera 1, si no cuando fuera distinto de 0:

if ($('#notificaciones').html() != '0'){
$('#notificaciones').addClass('nuevas-notificaciones');
}

He estado probando, incluso
Insertar CODE, HTML o PHP:
<script type="text/javascript">
$(document).ready(function(){
if ($('#notificaciones').html() != '0'){
$('#notificaciones').addClass('nuevas-notificaciones');
} 
});
</script>
con jquery y nada.

Comento que obviamente, tengo la libreria jQuery.
 

sandercrow

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
22 Ene 2013
Mensajes
32
Solo se me ocurre que revises los nombre de las capas (en el primer mensaje comienza con mayúscula) y que cambies un poco el if:

if (parseInt($('#notificaciones').html()) > 0){

A ver si con esto hay más suerte...
 

hugo1

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
28 Dic 2012
Mensajes
90
Tendría que ver el código para saber que estas haciendo mal.
 
Arriba