problemas con innerHTML en el explorer
Publicado por Pau Mestre (1 intervención) el 30/01/2006 18:31:57
Estoy tratando de realizar una ordenación dinámica de una tabla, el caso es que con el firefox me funciona, pero en el IExplorer me da un error "Error desconocido en tiempo de ejecución"
el codigo es el siguiente:
function ordena(orden)
{
var ordenado=0;
var compara=0;
var tabla=document.getElementById("foros");
var filas=tabla.getElementsByTagName("tr");
var columnas;
for(ordenado=1;ordenado<filas.length;ordenado++)
{
for(compara=(filas.length-1);compara>ordenado;compara--)
{
var columnas=document.getElementById("foros").getElementsByTagName("tr")[compara].getElementsByTagName("td");
var columnasAnterior=document.getElementById("foros").getElementsByTagName("tr")[compara-1].getElementsByTagName("td");
if(((columnas[2].firstChild.nodeValue<columnasAnterior[2].firstChild.nodeValue)&&(orden=="ascendente"))||((columnas[2].firstChild.nodeValue>columnasAnterior[2].firstChild.nodeValue)&&(orden=="descendente")))
{
var filaAuxiliar=document.getElementById("foros").getElementsByTagName("tr")[compara-1].innerHTML;
document.getElementById("foros").getElementsByTagName("tr")[compara-1].innerHTML=document.getElementById("foros").getElementsByTagName("tr")[compara].innerHTML;
document.getElementById("foros").getElementsByTagName("tr")[compara].innerHTML=filaAuxiliar;
}
}
}
}
El error lo da en la linea en que aparece:
document.getElementById("foros").getElementsByTagName("tr")[compara-1].innerHTML=document.getElementById("foros").getElementsByTagName("tr")[compara].innerHTML;
Alguien tiene idea de por qué da error y si hay alguna solución???
el codigo es el siguiente:
function ordena(orden)
{
var ordenado=0;
var compara=0;
var tabla=document.getElementById("foros");
var filas=tabla.getElementsByTagName("tr");
var columnas;
for(ordenado=1;ordenado<filas.length;ordenado++)
{
for(compara=(filas.length-1);compara>ordenado;compara--)
{
var columnas=document.getElementById("foros").getElementsByTagName("tr")[compara].getElementsByTagName("td");
var columnasAnterior=document.getElementById("foros").getElementsByTagName("tr")[compara-1].getElementsByTagName("td");
if(((columnas[2].firstChild.nodeValue<columnasAnterior[2].firstChild.nodeValue)&&(orden=="ascendente"))||((columnas[2].firstChild.nodeValue>columnasAnterior[2].firstChild.nodeValue)&&(orden=="descendente")))
{
var filaAuxiliar=document.getElementById("foros").getElementsByTagName("tr")[compara-1].innerHTML;
document.getElementById("foros").getElementsByTagName("tr")[compara-1].innerHTML=document.getElementById("foros").getElementsByTagName("tr")[compara].innerHTML;
document.getElementById("foros").getElementsByTagName("tr")[compara].innerHTML=filaAuxiliar;
}
}
}
}
El error lo da en la linea en que aparece:
document.getElementById("foros").getElementsByTagName("tr")[compara-1].innerHTML=document.getElementById("foros").getElementsByTagName("tr")[compara].innerHTML;
Alguien tiene idea de por qué da error y si hay alguna solución???
Valora esta pregunta


0