Foros del Web » Programando para Internet » Javascript »

Acceder al interior de un Div dentro de otros Div

Estas en el tema de Acceder al interior de un Div dentro de otros Div en el foro de Javascript en Foros del Web. Tengo un script que pone un texto dentro de un Div: Código PHP: [...] var  parent  =  document . getElementById (  'finally'  ); parent . ...
  #1 (permalink)  
Antiguo 05/01/2009, 09:50
 
Fecha de Ingreso: febrero-2008
Mensajes: 39
Antigüedad: 16 años, 2 meses
Puntos: 0
Acceder al interior de un Div dentro de otros Div

Tengo un script que pone un texto dentro de un Div:

Código PHP:
[...]
var 
parent document.getElementById'finally' );
parent.innerHTML="<div>" count +"</div>";
[...] 
El problema es que el div en cuestión tengo que meterlo dentro de otros dos Divs y entonces ya no funciona.. ¿cómo accedo al div que me interesa?

Ej:
<div id ="a"><div id ="b"><div id ="finally">Aquí quiero llegar yo</div></div></div>
  #2 (permalink)  
Antiguo 05/01/2009, 09:58
Avatar de foreverOdd  
Fecha de Ingreso: noviembre-2007
Ubicación: Caracas
Mensajes: 489
Antigüedad: 16 años, 5 meses
Puntos: 14
Respuesta: Acceder al interior de un Div dentro de otros Div

parent.innerHTML="<div id='ultimo'>" + count +"</div>";

document.getElementById( 'ultimo' );
__________________
My path is lit by my own fire, I only go where I desire
  #3 (permalink)  
Antiguo 05/01/2009, 10:25
 
Fecha de Ingreso: febrero-2008
Mensajes: 39
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Acceder al interior de un Div dentro de otros Div

No me funciona

Os copio mi codigo:

Código PHP:
<head>
<
LINK media="screen, projection" 
href="barra_archivos/scroller1.css" type=text/css rel=stylesheet>

<
SCRIPT LANGUAGE="JavaScript">

function 
ValidarFormulario(form1) {


if (
form1.titulolibro.value == ""){

    
alert("Por favor seleccione un libro"); form1.titulolibro.focus(); return;
}


form1.submit();

}

function 
validar(){

    var 
count 0;
    var 
counted =0;

    for (
i=0i<document.frmPaises.paises.lengthi++){
        
              if (
document.frmPaises.paises[i].checked==true){
            
count += parseFloat(document.frmPaises.lolori[i].value);
            
                if (
count document.frmPaises.total.value){
                    
alert ("No puedes fotocopiar más de " document.frmPaises.total.value +" páginas")
                    
document.frmPaises.paises[i].checked=0
                    
                
}else{
    
    
#################################################            
                   
var parent document.getElementById'finally' );
                  
parent.innerHTML="<div>" count +"</div>"
#################################################    
                
}
 
        }
    
    }
    

        if(
count == 0){
#################################################    
       
var parent document.getElementById'finally' );
                
parent.innerHTML="<div>0</div>";
#################################################    

}

    
}

<
head>
<
body>

<
SCRIPT src="barra_archivos/dom-drag.js" type=text/javascript></SCRIPT>

<SCRIPT src="barra_archivos/ypSimpleScrollC.js" type=text/javascript></SCRIPT>

<SCRIPT src="barra_archivos/scroller01.js" type=text/javascript></SCRIPT>

<SCRIPT type=text/javascript>
    instantiateScroller(0, "scroll0", 7, 0, 400, 430, 150);
    instantiateScroller(1, "scroll1", 7, 0, 375, 200, 150);
</SCRIPT>


<div class='root' id='root0'>
                  <div class='scrollContainer' id='scroll0Container'>
                    <div class='scrollContent' id='scroll0Content'> 
                                <p>
#################################################    
<div id='finally'>Valor de la variable COUNT</div>
#################################################    
</p>
</div></div></div>

</body>


</SCRIPT> 
He puesto entre almohadillas lo que falla. El código va bien si pongo sólo el div que me interesa pero los otros los necesito tb sniff sniff

Última edición por Siho; 05/01/2009 a las 10:59
  #4 (permalink)  
Antiguo 05/01/2009, 10:47
 
Fecha de Ingreso: enero-2008
Mensajes: 53
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Acceder al interior de un Div dentro de otros Div

Primero que nada, tienes un error en el primer lugar que marcas con numerales:

Código php:
Ver original
  1. }else{
  2.                 var parent = 1;
  3.     #################################################            
  4.                 parent.innerHTML="<div id='finally'>" + count +"</div>";
  5.                 document.getElementById( 'finally' );
  6. #################################################    
  7.                }

Ahí estás definiendo a parent como 1, pero después tratas de asignarle un html interno, eso es una contradicción. Para poder tener un html interno, tiene que ser un elemento HTML que lo permita, no puede ser un entero. Primero tendrías que revisar eso, y luego probar el código de nuevo.


Cualquier cosa avisas, saludos
  #5 (permalink)  
Antiguo 05/01/2009, 10:58
 
Fecha de Ingreso: febrero-2008
Mensajes: 39
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Acceder al interior de un Div dentro de otros Div

Sorry, era un error que cometí al intentar solucionar el problema, pero inicialmente, como se ve en mi primer post, estaba correcto.

Tras arreglar eso de nuevo he comprobado que sigue sin ir. Edito el código entero para corregir el error que me has señalado. Acias

¿A alguien se le ocurre cómo poder acceder al div de dentro?
  #6 (permalink)  
Antiguo 05/01/2009, 11:21
 
Fecha de Ingreso: enero-2008
Mensajes: 53
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Acceder al interior de un Div dentro de otros Div

Para acceder al div interno, debería alcanzar con el document.getElementById(), si no lo encuentra, es porque no está siendo generado correctamente el div con su id.

Podrías probar de usar el Firefox con el Firebug, para ver cómo es el div que queda creado.

A qué div es el que no puedes acceder?
A finally?
Yo probé copiar tu código, y accedió sin problemas al div y lo modificó según los valores que asignaste.

Estás seguro que el error no está en otro lado?
Tienes idea de cuál es el error puntual que te tira javascript?

Puedes probar también ir haciendo alerts de las variables claves, para ver si están tomando los valores que debe, por ejemplo:

Código:
 }else{
    
    #################################################            
                   var parent = document.getElementById( 'finally' );
                  alert(parent);
                  parent.innerHTML="<div>" + count +"</div>"; 
#################################################    
                }
Eso debería tirarte "[object HTMLDivElement]" en Firefox, o en IE si no me equivoco simplemente "[object]". Eso te puede servir para ver si está encontrando el objeto o no.

Si nada de esto te sirve, avisa y vemos qué otra cosa se nos ocurre.

Saludos

PD: Supongo que también fue un error al traspasar el código, pero por si las dudas te señalo también que no estás cerrando la etiqueta <head>, sino que la estás volviendo a abrir, ni estás cerrando la etiqueta <script> previa al cierre de <head>
  #7 (permalink)  
Antiguo 05/01/2009, 12:02
 
Fecha de Ingreso: febrero-2008
Mensajes: 39
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Acceder al interior de un Div dentro de otros Div

Muchas gracias de nuevo! He probado en IE y tienes razón, va sin problemas. El fallo está en que lo estaba probando con firefox y allí no funciona.. Le he puesto el alert y firefox no tira nada asik voy a ver con los arlets donde puede estar el fallo para que en firefox no funcione.

En cuanto de con él te aviso, de nuevo, muchas gracias ;)
  #8 (permalink)  
Antiguo 05/01/2009, 12:30
 
Fecha de Ingreso: enero-2008
Mensajes: 53
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Acceder al interior de un Div dentro de otros Div

Ok, suerte con ello, cualquier cosa nos avisas

También ten en cuenta lo que mencioné antes, de instalar en tu Firefox la extensión Firebug, es realmente una gran herramienta para depurar Javascript, marca de manera muy precisa normalmente donde hay errores, y podemos utilizar su consola para ejecutar Javascript en cualquier momento. Tenlo en cuenta


Saludos
  #9 (permalink)  
Antiguo 05/01/2009, 12:34
 
Fecha de Ingreso: febrero-2008
Mensajes: 39
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Acceder al interior de un Div dentro de otros Div

EDIT: Ubs sorry! lo escribimos a la vez! jaja voy a bajarme el firebug para que no os tengais que tragar el codigo, a ver si saco algo en claro


Al parecer firefox es incapaz de entrar en el For, sólo muestra hola1. Y si quito el For tampoco entra en el IF, sólo muestra hola1 y hola2.

En IE, como digo, va bien

Código PHP:
function validar(){

    var 
count 0;
    var 
counted =0;
      
      
alert ("hola1");
      
    for (
i=0i<document.frmPaises.paises.lengthi++){
        
              
alert ("hola2");
              
              if (
document.frmPaises.paises[i].checked==true){
            
count += parseFloat(document.frmPaises.lolori[i].value);
            
                  
alert ("hola3");
            
                if (
count document.frmPaises.total.value){
                    
alert ("No puedes fotocopiar más de " document.frmPaises.total.value +" páginas")
                    
document.frmPaises.paises[i].checked=0
                    
                          alert 
("hola4");
                    
                }else{
         var 
parent document.getElementById'finally' );
                  
alert(parent);
                  
parent.innerHTML="<div>" count +"</div>"
                  
                        
alert ("hola5");
                }
 
        }
    
    }
    

        if(
count == 0){
        var 
parent document.getElementById'finally' );
                
parent.innerHTML="<div>0</div>";

}

    

Y el div está akí:

Código PHP:
<?php
include ("./funciones4.php");

Conecta3_BD();

$resuporcen mysql_query("SELECT porcenfoto FROM opcionesbiblio");


              while( 
$array_datos mysql_fetch_row($resuporcen) ){

                foreach ( 
$array_datos as $porcentaje ){
                }
                }

echo 
$porcentaje."%<table width='147' border='0'>
            <tr>
              <td width='131' height='64' align='center' valign='bottom'><FORM METHOD='post' action='fotocopias03.php' name='frmPaises'><font size='5' color='#3366FF'>"
;
              
$titulolibro=$_POST["titulolibro"];    

$numpags mysql_query("SELECT total FROM librosfotocopias");
$autor12 mysql_query("SELECT autorlibro FROM librosbiblioteca where nomlibro = '$titulolibro'");
$editorial12 mysql_query("SELECT editoriallibro FROM librosbiblioteca where nomlibro = '$titulolibro'");
$edicion12 mysql_query("SELECT edicionlibro FROM librosbiblioteca where nomlibro = '$titulolibro'");
$idioma12 mysql_query("SELECT idiomalibro FROM librosbiblioteca where nomlibro = '$titulolibro'");

while( 
$array_datos mysql_fetch_row($numpags) ){

foreach ( 
$array_datos as $numpags12 ){
                }
                } 
$maxpags = ($numpags12 $porcentaje)/100;

while( 
$array_datos mysql_fetch_row($autor12) ){

foreach ( 
$array_datos as $autor ){
                }
                } 
while( 
$array_datos mysql_fetch_row($editorial12) ){

foreach ( 
$array_datos as $editorial ){
                }
                } 
while( 
$array_datos mysql_fetch_row($edicion12) ){

foreach ( 
$array_datos as $edicion ){
                }
                }                 
while( 
$array_datos mysql_fetch_row($idioma12) ){

foreach ( 
$array_datos as $idioma ){
                }
                } 
                
echo 
"<br><table border='0'><tr><td><font size='5' color='#3366FF'>


###########################################
<div id='finally'></div>
##########################################

</font></td><td><font size='5' color='#3366FF'>/"
.$maxpags."</font></td></tr></table><input type='hidden' name='total' value ='".$maxpags."'/></td>
[...]
  #10 (permalink)  
Antiguo 05/01/2009, 12:54
 
Fecha de Ingreso: febrero-2008
Mensajes: 39
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Acceder al interior de un Div dentro de otros Div

Problemas arreglado!! jaja que caña el firebug! Era un fallo de que uno de los divs referenciaba a un .js de propiedades y en uno estaba escrito root con la letra o y en otro ro0t con un cero. Ya me podría haber tirado la vida para darme cuenta...



De nuevo, muxísimas gracias a todos por vuestra ayuda :D
  #11 (permalink)  
Antiguo 05/01/2009, 12:58
 
Fecha de Ingreso: enero-2008
Mensajes: 53
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Acceder al interior de un Div dentro de otros Div

Me alegro que hayas solucionado el problema

Y es bueno que hayas descargado el Firebug, va a solucionarte muchos problemas en la vida si tienes que programar Javascript.


Saludos!
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 03:26.