2009-07-09 8 views
9

Estoy tratando de cambiar la clase de un elemento con Javascript con el siguiente código:cambia la clase de un elemento <span> con JavaScript

parent.document.getElementById('<?php echo $markid ?>').class = 'unlistened'; 

No tener mucha suerte sin embargo. ¿Cómo hago esto correctamente?

Respuesta

18

.className en lugar de .class

+0

d'oh! golpéame por 20 segundos: p – peirix

+0

vencerme también ... – edeverett

5

className debe hacer el truco (:

8

Uso .className en lugar de .class

clase es una palabra reservada en JS así que ha cambiado a className algunos otros. Los atributos HTML se cambian de forma similar "para" cambios a "htmlPara" para instancia.

2

Sólo un consejo, es mucho más fácil de usar jQuery, si está haciendo JavaScript en estos días, ya que es mucho más fácil y en realidad sólo requiere que usted tenga un buen conocimiento de CSS (para los selectores y etc.)

harías $(selector).addClass('myclass');

Y retrive que de este modo:

$(selector).attr('class');

Oh, sí, y tenga en cuenta que si utiliza una combinación de clases en cualquier elemento, la función anterior devolverá todas delimitadas por un espacio (como lo definiría en el atributo de clase HTML). Si lo desea para comprobar si existe una clase en particular, hacer esto:

$(selector).hasClass('class');

Eso es lo básico de manipulación clase con jQuery. Consulte http://docs.jquery.com/ para el resto.

+0

No estoy seguro de por qué las personas están bajando mi respuesta. Es una sugerencia útil y amistosa ... –

+0

No bajé, pero me lo imaginaba porque no se mencionaba buscar una solución en jQuery, sino simplemente JS puro. –

+0

Si no está usando jquery, esta no es una respuesta útil si la solución simple de javascript es igual de fácil (en este caso, incluso más fácil que su sugerencia ...). Por cierto, no te recriminé ... – awe

Cuestiones relacionadas