Comunidad de diseño web y desarrollo en internet online

cambiar una palabra por otra dinamicamente

Citar            
MensajeEscrito el 17 May 2011 11:43 pm
Hola buen dia, tengo un pequeño problema, tengo una pagina en la cual me gustaria por ejemplo si aparece "MAL" cambiarla por por "BIEN" pero tambien cambiar su color, alguna vez vi que lo hicieron en una pagina hecha con word press, ponian un onload al principio y todas las palabras las cambiaba por mayusculas y de otro color.. lo malo es que no me fije muy bien como :( , pero se que sepuede hacer.

Si alguien me pudiera instruir

de antemano gracias

Por gazustoy

9 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 May 2011 06:50 am
Buenas,
selecciona el elemento, por ruta absoluta o con getElementById() por ejemplo, y usa innerhtml para cambiar su contenido, por ejemplo:

Tenemos un div:
<div id="elemento"><span style="color:green">BIEN</span></div>

Pone dentro del div, BIEN, en verde.

<script>
function cambiacolor()
{
document.getElementById("elemento").innerHTML='<span style="color:red">MAL</span>
}
</script>

Cuando llames a la función cambiacolor() el contenido del div será MAL, en rojo.

Saludos

Por neisserian89

65 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 May 2011 02:39 pm
Hola buen dia muchas gracias por la respuesta, me abrio el panorama, tengo en un div que se llama acrodion, es un menu que se crea dinamicamente en varios archivos js, lo cual es complejo intentar meterle mano. asi que la manera mas sencilla (segun yo) seria cambiar especificamente lo que necesito, no le puedo mover a la hoja de estilos por que afecta a todo el menu, y solo requiero que cambie una palabra del menu de color.

Entonces con base a lo que me pusiste se me ocurrio hacerlo asi:

<script type="text/javascript">
function cambiaColor()
{

var texto = document.getElementById('accordion').value;
texto = texto.replace ('<span style="color:red">Accesorios</span>','Accesorios');
document.getElementById('vm-accordion').innerHTML=texto;

}

</script>


lo pongo en:
<body onLoad=cambiaColro()>


<id=accordion> <dt class="open level0 nav-9 parent"><span>Niños</span></dt><dd class="open level0 nav-9 parent"> .... etc

</id>


como te comento todo se crea dinamiacamente.

con lo que puse no me da nada.. le puse un window.alert (texto);

para saber si lo hacia bien pero marca indefinido..

agradeceria un poco tu guia

gracias

Por gazustoy

9 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Jun 2011 11:41 am
var texto = document.getElementById('accordion').value; -- no
var texto = document.getElementById('accordion').innerHTML; -- si

Perdona la tardanza, se me paso el post.

Saludos

Por neisserian89

65 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Jun 2011 11:43 am
Ahh, y el replace creo que los parámetros los tienes al revés

Por neisserian89

65 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Jun 2011 05:51 pm
.value es solo para los elementos de formulario input y textarea, si intentas coger el HTML de un elemento, puedes usar .innerHTML, y si quieres coger solo el texto usas .innerText / .textContent

Por NEO_JP

BOFH

5724 de clabLevel

13 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Premio_Secretos Team Cristalab

Front-end Developer en Washington, DC

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.