Ver Mensaje Individual
  #13 (permalink)  
Antiguo 30/10/2009, 09:40
Avatar de Miuler
Miuler
 
Fecha de Ingreso: noviembre-2003
Mensajes: 7
Antigüedad: 21 años
Puntos: 0
Respuesta: ¿Alguien conoce una forma de sacar texto de elementos dentro de tags no es

GRACIAS!!! SI FUNCIONO A LA PERFECCIÓN!!

Como dije en el comentario anterior, esto en realidad parte de un codigo mayor donde me pasan una variable rec, y de la cual tengo que obtener datos, ya estaba a punto de rendirme y volver a implementar las cosas de otra forma menos flexible, pero me salvaste la vida, la verdad intente con muchas cosas, hasta con childNodes[0] la la la pero nada, la verdad fue una muy buena idea la que pusiste, gracias, y como agradecimiento pongo el codigo completo, espero que no sea molesto :)

grid_data.html
Código:
<html>
<head>
<title>Title</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="AUTHOR" content="HECTOR MIULER MALPICA GALLEGOS" />

<!-- TODO: Temporal, solo para pruebas, quitar al final -->
<!-- ================== SERVER ======================= -->
<link rel="stylesheet" type="text/css" href="extjs/resources/css/ext-all.css" />
<script type="text/javascript" src="extjs/adapter/ext/ext-base.js"></script>  
<script type="text/javascript" src="extjs/ext-all-debug.js"></script>
<!-- ================== SERVER ======================= -->

<script type="text/javascript">
  Ext.onReady(function(){
    var _grid = new Ext.grid.GridPanel({
      title: 'PRUEBA DE COLUMNA CON FORMATO DATE',
      width: 290,
      height: 200,
      store: new Ext.data.XmlStore({
        url: 'grid_date.xml',
        record: 'report',
        fields: [
          {name: 'nombre'},
          {name: 'fecha', type: 'date'},
          {name: 'edad', convert: function(v, rec) {
            console.log("rec: ", rec);
//            console.log("rec.getElementsByTagName('edad')[0]: ", rec.getElementsByTagName('edad')[0]);
//            console.log("rec.getElementsByTagName('edad')[0].parentElement: ", rec.getElementsByTagName('edad')[0].parentElement);
            //console.log("rec.getElementsByTagName('edad')[0].parentElement.innerText: ", rec.getElementsByTagName('edad')[0].parentElement.innerText);
            console.log("rec.getElementsByTagName('edad')[0].firstChild: ", rec.getElementsByTagName('edad')[0].firstChild);
            console.log("rec.getElementsByTagName('edad')[0].firstChild.data: ", rec.getElementsByTagName('edad')[0].firstChild.data);
            console.log("rec.getElementsByTagName('edad')[0].firstChild.nodeValue: ", rec.getElementsByTagName('edad')[0].firstChild.nodeValue);

//            edad = rec.getElementsByTagName('edad')[0];
//            console.log('edad: ', edad);
//            console.log('edad.childNodes: ', edad.childNodes);
//            console.log('edad.childNodes[0]: ', edad.childNodes[0]);
//            edad2 = Ext.get(edad);
//            console.log('edad2: ', edad2);
//            console.log('edad2.dom.childNodes: ', edad2.dom.childNodes);
//            console.log('edad2.dom.childNodes[0]: ', edad2.dom.childNodes[0]);
//            console.log('edad2.dom.childNodes[0].innerHTML: ', edad2.dom.childNodes[0].innerHTML);
            return rec.getElementsByTagName('edad')[0].firstChild.data;
          }}
        ]
      }),
      columns: [
        {header: 'Nombre', dataIndex: 'nombre'},
        {header: 'Fecha', dataIndex: 'fecha', xtype: 'datecolumn', format: 'm/d H:i'},
        {header: 'Edad', dataIndex: 'edad'}
      ],
      renderTo: 'gridDate'
    });
    _grid.getStore().load();
  });
</script>
</head>

<body>
  <!-- ... body of document ... -->
  <div id='gridDate'></div>
  <tal id='123'>Prueba de texto dentro de un tag no standart</tal>
</body>
</html>
<!-- vim: set st=2 sw=2: -->
y el dato que viene en el xml

grid_data.xml
Código:
<?xml version="1.0" encoding="utf-8"?>
<reports>
  <report>
    <nombre>Miuler</nombre>
    <fecha>2009-10-09 11:08:00</fecha>
    <edad>28</edad>
  </report>
  <report>
    <nombre>Hector</nombre>
    <fecha>2009-10-27 10:01:00</fecha>
    <edad>27</edad>
  </report>
</reports>
<!-- vim: set st=2 sw=2: -->

Cita:
Iniciado por Panino5001 Ver Mensaje
Podrías probar con:
Código PHP:
document.getElementsByTagName('data')[0].firstChild.data
o con
Código PHP:
document.getElementsByTagName('data')[0].firstChild.nodeValue