elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Cambiar propiedades a un Class
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Cambiar propiedades a un Class  (Leído 2,363 veces)
mapers


Desconectado Desconectado

Mensajes: 638


Ver Perfil
Cambiar propiedades a un Class
« en: 3 Diciembre 2013, 17:01 pm »

Buenas señores del foro necesito de su ayuda;tengo varios elementos de la siguiente forma:

Código
  1.  
  2. <a href="AccionesModerador.jsp?AjaxPar= <%=rsPagination.getString("idModeradores")%> &Action=Est&Proc=<%=CambiarEstado%>"  class="CambiarEnlaceModerador"> <%=CambiarEstado%></a>
  3.  
  4.  

Todos los elementos tienen la misma class ; ahora mi pregunta es a traves de  javascript como puedo cambiar sus propiededes a todos mis elementos, en especifico necesito cambiar a traves de innerHTML que modifique el texto que contenga  gracias


En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.850



Ver Perfil WWW
Re: Cambiar propiedades a un Class
« Respuesta #1 en: 3 Diciembre 2013, 17:39 pm »

Ej jQuery seria bastante sencillo gracias a sus selectores. En javascript nativo es un poco mas complicado.

Existe el selector getElementsByClassName pero el soporte en IE empieza desde la versión 9.

Código
  1. var elementos = document.getElementsByClassName('CambiarEnlaceModerador');
  2. for(var i=0; i<elementos.length; ++i){
  3.   elementos[i].innerHTML = 'Prueba';
  4. }

Existen varias alternativas.. una de ellas es obtener todos los elementos del mismo tag y comparar mediante atributos. Otra asignar a todos los elementos que quieras modificar un ID que solo varia mediante un numero al final.

En el caso de todo por tag.
Código
  1. var elementos = document.getElementsByTagName('a');
  2. for(var i=0; i<elementos.length; ++i){
  3.   if(elementos[i].getAttribute('class')==='CambiarEnlaceModerador'){
  4.      elementos[i].innerHTML = 'Prueba';
  5.   }
  6. }

El soporte para getElementsByTagName se añade en IE 5.5 así que no deberías tener problema. El problema seria el getAttribute que se incluye en la versión 8... pero la 8 yo creo que es mas que suficiente.

Saludos


« Última modificación: 3 Diciembre 2013, 17:46 pm por @drvy » En línea

EFEX


Desconectado Desconectado

Mensajes: 1.171


"Dinero Facil"


Ver Perfil WWW
Re: Cambiar propiedades a un Class
« Respuesta #2 en: 3 Diciembre 2013, 18:01 pm »

Siguiendo con JQuery como decia drvy ;D, prodria ser algo asi...

Código
  1. $(document).ready(function() {
  2. $('.CambiarEnlaceModerador').html(function(){
  3. //cambiar los atributos
  4. $(this).attr('href', 'Nuevadireccion.html');
  5. $(this).attr('class', 'CambiarClass');
  6. //cambiar el nombre
  7. return 'prueba';
  8. });
  9. });
  10.  

Y ademas das soporte a versiones mas antiguas de los navegadores.
http://jquery.com/
http://caniuse.com/#feat=getelementsbyclassname
En línea

mapers


Desconectado Desconectado

Mensajes: 638


Ver Perfil
Re: Cambiar propiedades a un Class
« Respuesta #3 en: 3 Diciembre 2013, 22:33 pm »

Y si desearia cambiar el mismo atributo pero con la condicion de que <%=CambiarEstado%> tenga identificadores:

Si CambiarEstado=='1' que se escriba 'Prueba1'
Si CambiarEstado=='2' que se escriba 'Prueba2'
......

gracias por su tiempo
En línea

EFEX


Desconectado Desconectado

Mensajes: 1.171


"Dinero Facil"


Ver Perfil WWW
Re: Cambiar propiedades a un Class
« Respuesta #4 en: 3 Diciembre 2013, 23:08 pm »

Si entendi bien.. no hace falta condicionales, podes concatenarlo.

Código
  1. <html>
  2. <head>
  3. <!-- <script src="jquery-2.0.3.min.js"></script> -->
  4. <script src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
  5. <script type="text/javascript">
  6. $(document).ready(function() {
  7. $('.CambiarEnlaceModerador').html(function(){
  8. //Obtener estado antes de generar cambios
  9. estado = $(this).text();
  10. //cambiar los atributos
  11. $(this).attr('href', 'Nuevadireccion.html');
  12. $(this).attr('class', 'CambiarClass');
  13. //cambiar el nombre
  14. //y concatenamos
  15. return 'prueba'+estado;
  16. });
  17. });
  18. </script>
  19. <style type="text/css">
  20. .CambiarEnlaceModerador{background-color: red;}
  21. .CambiarClass{background-color: green;}
  22. </style>
  23. </head>
  24. <body>
  25. <a href="#" class="CambiarEnlaceModerador">1</a>
  26. <a href="#" class="CambiarEnlaceModerador">2</a>
  27. <a href="#" class="CambiarEnlaceModerador">3</a>
  28. <a href="dir.html" class="CambiarEnlaceModerador">4</a>
  29. <a href="#" class="CambiarEnlaceModerador">5</a>
  30. <a href="#" class="CambiarEnlaceModerador">6</a>
  31. </body>
  32. </html>
En línea

mapers


Desconectado Desconectado

Mensajes: 638


Ver Perfil
Re: Cambiar propiedades a un Class
« Respuesta #5 en: 3 Diciembre 2013, 23:17 pm »

Estoy implementado esta logica :


Código
  1.    var elementos = document.getElementsByTagName('a');
  2.    for(var i=0; i<elementos.length; ++i){
  3.      if(elementos[i].getAttribute('class')==='CambiarEnlaceModerador'){
  4.         if (elementos[i].innerHTML === 'Suspender') {
  5.                    elementos[i].innerHTML = 'Play';
  6.                }
  7.                if (elementos[i].innerHTML === 'Activo') {
  8.                    elementos[i].innerHTML = 'Active';
  9.                }
  10.      }
  11.    }
  12.  
  13.  

Estaria bien de esa manera colocarlo !!!!!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Cambiar el OTRO logo de Propiedades Windows XP
Dudas Generales
Luish@o 2 5,235 Último mensaje 29 Diciembre 2010, 17:58 pm
por simorg
Cambiar fondo al añadir class a un div (background-color)
Desarrollo Web
Servia 4 6,614 Último mensaje 9 Julio 2011, 13:39 pm
por Servia
cambiar propiedades de audio mp3
Multimedia
franfis 2 2,816 Último mensaje 16 Julio 2013, 03:41 am
por franfis
Cambiar la memoria RAM de windows 7 en las propiedades del sistema.
Windows
Sanlegas 6 19,970 Último mensaje 14 Julio 2023, 18:16 pm
por Fernando Morales
Cambiar propiedades
.NET (C#, VB.NET, ASP)
Meta 2 2,165 Último mensaje 20 Febrero 2022, 20:22 pm
por Meta
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines