Foros del Web » Programando para Internet » Javascript »

Problemas con script en IE7

Estas en el tema de Problemas con script en IE7 en el foro de Javascript en Foros del Web. Bueno, tnego un script para cambiar el estilo de las celdas en una tabla cuando uno pasa el mouse por ella. El código es asi: ...
  #1 (permalink)  
Antiguo 01/08/2008, 11:02
 
Fecha de Ingreso: julio-2008
Mensajes: 6
Antigüedad: 15 años, 9 meses
Puntos: 0
Problemas con script en IE7

Bueno, tnego un script para cambiar el estilo de las celdas en una tabla cuando uno pasa el mouse por ella. El código es asi:

Código:
		if (navigator.userAgent.indexOf('MSIE') !=-1)
{ 
	window.onload=function(){
 ConvertRowsToLinks("table1");
	}
 function ConvertRowsToLinks(xTableId){
        var rows = document.getElementById(xTableId).getElementsByTagName("tr");
        for(i=0;i<rows.length;i++){
          var links = rows[i].getElementsByTagName("a");

          if(links.length == 1 && links.className == 'forumlink'){
            rows[i].onclick = new Function("document.location.href='" + links[0].href + "'");
            rows[i].onmouseover = new Function("this.className='highlight'");
            rows[i].onmouseout = new Function("this.className='row1'");
			rows[i].className = 'row1';
          }
        }
		
      }

}
else {
	window.onload=function(){
 Rowlink();
	}
function Rowlink(){
        var rows = document.getElementsByTagName("tr");
        for(i=0;i<rows.length;i++){
          var link = rows[i].getElementsByClassName("forumlink");
          if(link.length == 1){
			rows[i].className = 'row1';
            rows[i].onclick = new Function("document.location.href='" + link[0].href + "'");
            rows[i].onmouseover = new Function("this.className='highlight'");
            rows[i].onmouseout = new Function("this.className='row1'");

          }
        }
      }
	  
}
Ademas de cambiar el estilo, hace que cuando uno haga click en cualquier parte, lo lleve al link principal. El problema es que IE no tiene getElementsByClassName y no me funciona. Alguna idea?
  #2 (permalink)  
Antiguo 01/08/2008, 11:08
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Problemas con script en IE7

Pero según tengo entendido, en tu script si el navegador es IE no usa el getElementByClassName que está en la función RowLink(), más bien, va a la función ConvertRowsToLinks().
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 01/08/2008, 11:16
 
Fecha de Ingreso: julio-2008
Mensajes: 6
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Problemas con script en IE7

Si, eso lo puse despues....el problema es que esa funcion funciona perfecto mientras alla un solo link en la linea....pero lo nesecito para unos foros en los que hay 3 links por linea. Este script no puede darle prioridad a uno y por lo tanto no hace el link en la tabla. Con getelementsbyclass se puede hacer pero no funciona y no se que otra opcion hay...
  #4 (permalink)  
Antiguo 01/08/2008, 11:18
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Problemas con script en IE7

Lo que puedes hacer es recorrer todos los elementos con getElementsByTagName y ver si tiene el className que buscas con un if:
Código PHP:
if (elemento.className == 'clase_buscada') {} 
Ahora que miro mejor tu código, es exactamente eso lo que pretendes hacer, ¿podrías poner esa parte del HTML para que mire por qué no funciona?

EDITO nuevamente: lo que tienes que hacer es volver a hacer un bucle for con todos los elementos <a> dentro de la fila, ya que en el código solo estás tomando el primer <a>.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 01/08/2008, 11:19
 
Fecha de Ingreso: julio-2008
Mensajes: 6
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Problemas con script en IE7

Ok voy a intentar a ver si funciona y aviso

Tengo que poner algo como esto:

var links = rows[i].getElementsByTagName("a");
if (links.className == 'forumlink') {


o no?

Última edición por elpulgas; 01/08/2008 a las 11:27
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:13.