Foros del Web » Programando para Internet » Javascript »

getElementByTagName de html en variable

Estas en el tema de getElementByTagName de html en variable en el foro de Javascript en Foros del Web. Hola amigos tengo un html almacenado en una variable de javascript y quisiera obtener ciertos tags pero resulta que no me funciona este es mi ...
  #1 (permalink)  
Antiguo 30/03/2011, 14:29
Avatar de baxi2990  
Fecha de Ingreso: agosto-2008
Ubicación: Quetzaltenango - Guatemala
Mensajes: 340
Antigüedad: 15 años, 8 meses
Puntos: 2
getElementByTagName de html en variable

Hola amigos tengo un html almacenado en una variable de javascript y quisiera obtener ciertos tags pero resulta que no me funciona este es mi codigo

Código:
     var valHTML = '<div id="tags">'+codigoHTML+'</div>';
     var tagDiv = document.getElementById('tags');
     var tagU = tagDiv.getElementByTagName("u");
pero me dice que mi variable tagDiv est null agradesco la ayuda desde ya.
  #2 (permalink)  
Antiguo 30/03/2011, 14:33
Avatar de laratik  
Fecha de Ingreso: mayo-2010
Ubicación: Cali
Mensajes: 317
Antigüedad: 13 años, 10 meses
Puntos: 63
Respuesta: getElementByTagName de html en variable

No creo que tengas un html almacenado en una variable, lo que tienes es un String y como no haz añadido el String al cuerpo de la pagina mediante innerHTML, pues no lo puedes tomar con document.getElemntById. Ademas recuerda que para trabajar con el DOM debió haberse cargado completamente la pagina.
__________________
Programar apasiona y lo que apasiona es un arte, por lo tanto programar es un arte.

Quiero karma para en mi próxima vida ser un billonario bien dotado con alas.
  #3 (permalink)  
Antiguo 30/03/2011, 14:34
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: getElementByTagName de html en variable

te dice eso por que no existe. no es la id de ningún elemento. es sólo una cadena var valHTML = '<div id="tags">'+codigoHTML+'</div>';
  #4 (permalink)  
Antiguo 30/03/2011, 14:45
Avatar de baxi2990  
Fecha de Ingreso: agosto-2008
Ubicación: Quetzaltenango - Guatemala
Mensajes: 340
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: getElementByTagName de html en variable

mmm si amigos tienen razon ando algo despistado el dia de hoy es un estring jeje entonces que puedo hacer con estoy o no ay manera de poder hacer esto :(
  #5 (permalink)  
Antiguo 30/03/2011, 14:46
Avatar de baxi2990  
Fecha de Ingreso: agosto-2008
Ubicación: Quetzaltenango - Guatemala
Mensajes: 340
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: getElementByTagName de html en variable

mi intencion es sacar ciertos tags pero tambien pense en hacerlo una expresion regular que me guarde en un array los tags que va encontrando dependiendo mi expresion regular
  #6 (permalink)  
Antiguo 30/03/2011, 14:55
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: getElementByTagName de html en variable

sí, es la opción que yo usaría. prueba con el método match()
  #7 (permalink)  
Antiguo 30/03/2011, 14:59
Avatar de laratik  
Fecha de Ingreso: mayo-2010
Ubicación: Cali
Mensajes: 317
Antigüedad: 13 años, 10 meses
Puntos: 63
Respuesta: getElementByTagName de html en variable

En cambio yo seguiría con la primera opción:

Código Javascript:
Ver original
  1. <html>
  2. <head>
  3.     <title>DOM</title>
  4.     <script type="text/javascript">
  5.     function tomar_tags() {
  6.         var tagDiv = document.getElementById('tags');
  7.         var tagU = tagDiv.getElementsByTagName("u");
  8.         for(var i = 0; i<tagU.length; i++) {
  9.             alert(tagU.item(i).textContent);
  10.         }
  11.     }
  12.    
  13.     window.onload = tomar_tags;
  14.     </script>
  15. </head>
  16. <body>
  17. <div id="tags">
  18. <u>aqui</u> va el <u>HTML</u>
  19. </div>
  20. </body>
  21. </html>

Pero para gustos los colores.
__________________
Programar apasiona y lo que apasiona es un arte, por lo tanto programar es un arte.

Quiero karma para en mi próxima vida ser un billonario bien dotado con alas.
  #8 (permalink)  
Antiguo 30/03/2011, 15:17
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: getElementByTagName de html en variable

Cita:
Iniciado por laratik Ver Mensaje
En cambio yo seguiría con la primera opción:
Pero para gustos los colores.
claro, pero si lo tiene almacenado en una variable, será por algo. de lo contrarío, no tiene sentido
  #9 (permalink)  
Antiguo 30/03/2011, 15:24
Avatar de laratik  
Fecha de Ingreso: mayo-2010
Ubicación: Cali
Mensajes: 317
Antigüedad: 13 años, 10 meses
Puntos: 63
Respuesta: getElementByTagName de html en variable

Cita:
Iniciado por IsaBelM Ver Mensaje
claro, pero si lo tiene almacenado en una variable, será por algo. de lo contrarío, no tiene sentido
Realmente lo que me parece que no tiene sentido es justamente eso, que este almacenado en una variable ¿para que crear una variable con código html si no se va a insertar en el cuerpo de la pagina? y peor aun ¿para que crear una variable si al final se va a insertar en el cuerpo? mejor lo escribes directamente en el HTML.

Aunque al final el dueño del post sabra que es lo que hace. SALUDOS.
__________________
Programar apasiona y lo que apasiona es un arte, por lo tanto programar es un arte.

Quiero karma para en mi próxima vida ser un billonario bien dotado con alas.
  #10 (permalink)  
Antiguo 30/03/2011, 17:25
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: getElementByTagName de html en variable

Hagamos de cuenta que por obligatorias razones esta almacenado en un variable y nunca estuvieron en el DOM.

Para usar getelementsbytagname puedes insertarlo en el dom con innerHTML; luego buscar los tags, haces con ellos lo que quieras, y luego borras los elementos insertados.
  #11 (permalink)  
Antiguo 31/03/2011, 09:45
Avatar de baxi2990  
Fecha de Ingreso: agosto-2008
Ubicación: Quetzaltenango - Guatemala
Mensajes: 340
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: getElementByTagName de html en variable

Cita:
Iniciado por laratik Ver Mensaje
Realmente lo que me parece que no tiene sentido es justamente eso, que este almacenado en una variable ¿para que crear una variable con código html si no se va a insertar en el cuerpo de la pagina? y peor aun ¿para que crear una variable si al final se va a insertar en el cuerpo? mejor lo escribes directamente en el HTML.

Aunque al final el dueño del post sabra que es lo que hace. SALUDOS.
El sentido de hacerlo asi es por que trabajo con un framework Ext Js con el fin de pasar datos de una sitio X a mi sitio, pero aprovechando el framework que trae un htmleditor probe sacarlo con getElementByTagName pero como no se pudo por alguna razon no lo carga entonces opte por capturar valor de htmleditor almacenado en una variable ya puedo filtrar los datos que necesito en este caso todos los datos contenidos en los tags <u> ahora creo que esta mas claro jeje me parece una buena opcion la del tagname pero debido a que cargo primero mi modulo entonces se carga el codigo y todo luego copio lo que necesito del sitio x para pasarlo a mi web entonces creo que el html que copie no se carga directamente, ahora tengo un problema con mi expresion regular ya que necesito sacar todos los datos que esten en el tag <u> esto es lo que tengo

Código:
        var patron = /(<u>[aA-zZ0-9]+<\/u>)/gi;
        alert(string.match(patron));
donde string es mi cadena con el codigo html pero solo me captura el primer tag agradesco la ayuda, ya le puse + al final de <u> y de <\/u> y nada gracias
  #12 (permalink)  
Antiguo 31/03/2011, 11:23
Avatar de laratik  
Fecha de Ingreso: mayo-2010
Ubicación: Cali
Mensajes: 317
Antigüedad: 13 años, 10 meses
Puntos: 63
Respuesta: getElementByTagName de html en variable

me parece extraño a mi me funciona perfectamente, lo único que le veo es que esta tomando las etiquetas <u></u>, pero nada que un replace no solucione:

Código Javascript:
Ver original
  1. var string = '<u>aqui</u> va el <u>HTML</u>';
  2. var patron = /(<u>[aA-zZ0-9]+<\/u>)/gi;
  3. string = string.match(patron);
  4. for(var i=0; i<string.length; i++) {
  5.     string[i] = string[i].replace("<u>","");
  6.     string[i] = string[i].replace("</u>","");
  7. }
  8. for(var i=0; i<string.length; i++) {
  9.     alert(string[i]);
  10. }
__________________
Programar apasiona y lo que apasiona es un arte, por lo tanto programar es un arte.

Quiero karma para en mi próxima vida ser un billonario bien dotado con alas.
  #13 (permalink)  
Antiguo 31/03/2011, 12:12
Avatar de baxi2990  
Fecha de Ingreso: agosto-2008
Ubicación: Quetzaltenango - Guatemala
Mensajes: 340
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: getElementByTagName de html en variable

gracias laratik por contestar fijate que no me funcionaba jeje tube quer armar otra expresion regular y pues va de maravilla y justamente tambien tube que hacer algo para remplazar los tags para que me quedaran solo los datos sin la etiqueta lo hice de esta manera para no hacer dos replace

Código Javascript:
Ver original
  1. string.replace(/<[^>]+>/g,'');

y me quita todo tipo de etiquetas, agradesco a todos por su ayuda logre solucionarlo.

Etiquetas: html, variables
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:02.