Nueva pregunta

Pregunta:

Fecha: 29-06-2017 09:30:45 (En Español)

Identificar elemento table y ponerlo dentro de un contenedor jQuery[No resuelta]

Hola amigos,
Me surgió la necesidad de buscar el elemento table en un div especifico que el contenido es llamado desde MySQL y necesito identificarlo para ponerlo dentro de un div con unas clases especificas.
Espero que alguien pueda ayudarme.

Saludos
Etiquetas: HTML - Javascript - JQuery - MySQL - PHP - Pregunta - Web Votos: 0 - Respuestas: 6 - Vistas: 14 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 30-06-2017 00:57:01 Hola CorpLan,

    La tabla a leer debe estar identificada o mejor aún dentro de un contenedor, así como el div en dónde desean colocarlo, por ejemplo:

    
    <div id="tabla-original">
    <table>
    ....
    </table>
    </div>
    
    ...
    
    <div id="tabla-mostrar"></div>
    
    


    Si ese es el caso, con jQuery se hace con el método html(), que sirve tanto para obtener un contenido html como para reemplazarlo:

    
    $("tabla-mostrar").html( $("tabla-original").html() );
    
    


    En javascript tambén puede hacerse con innerHTML:

    
    var html = document.getElementById("tabla-original").innerHTML;
    
    document.getElementById("tabla-mostrar").innerHTML = html;
    
    
      Votos: 2 - Link respuesta
     
  • Fecha: 30-06-2017 10:37:22 Leonardo,
    Checa tu selector para JQuery:
    $("#tabla-mostrar").html( $("#tabla-original").html() );
    
      Votos: 2 - Link respuesta
     
  • Fecha: 30-06-2017 11:07:37 Hola,
    No me sirve así :(, tengo que identificar la tabla ya que estoy haciendo un sistema para un cliente y el usa tablas en la descripción de algunas cosas, yo le puse un textarea de texto enriquecido para esto pero necesito que cuando la muestra pueda identificar cuando puso una tabla para que en el movil, la tabla de vuelva adaptiva pero no se como hacerlo sin ponerla dentro de un div

    Saludos
      Votos: 0 - Link respuesta
     
  • Fecha: 30-06-2017 16:24:43 Hola Ernesto, gracias por la observación (me comí los selectores)

    CorpLan, ví tu pregunta pero no la leí. Ahora si la leí. Lo que necesitas es extraer la tabla de una cadena. Creo que puede hacerse con expresiones regulares, pero a ver si te sirve esta función que uso para extraer cadenas:

    function extraer_cadena($cadena, $inicio, $final) {
         $izquierda = strpos($cadena, $inicio, 0);
         if ($izquierda !== false) {
              $derecha = strpos($cadena, $final, $izquierda + strlen($inicio));
                   if ($derecha !== false) {
                        return (substr($cadena, $izquierda, ($derecha - ($izquierda - strlen($inicio)))));
                   }
          }
         return '';
    }
    


    Para usarla:
    $cadena = el documento HTML leído de la base de datos
    $inicio = desde dónde comenzar a extraer, ejemplo "<table" (sin cerrarla)
    $final = hasta dónde extraer, ejemplo "table>"

    La "pega" de eso está en que si hay más de una tabla solo obtendrás la primera. Prueba y nos cuentas.
      Votos: 1 - Link respuesta
     
  • Fecha: 02-07-2017 04:19:30 Si esa tabla siempre está dentro de un mismo contenedor, podes hacer con js que toda tabla dentro de ese div, le puedas agregar una class tipo .table-responsive   Votos: 1 - Link respuesta
     
  • Fecha: 02-07-2017 07:24:42 Buenas tardes, ultimamente estuve utilizando una librería (taffydb) la cual tiene un método llamado supplant. Este método recibe un string que es el html de un table y, si lo querés hacr responsive, como hay un comentario más arriba, usas las clases correspondientes para table con bootstrap.

    También, directamente con jQuery ir armando los elementos del tbody. Para ello, le das un id a la etiqueta table y haces un append a tbody (jQuery('#idtabla tbody).append(fila), donde fila es el tr de cada dato. Antes de hacer el append siempre usá el método empty() para vaciar lo que tenía (si es necesario)

    Hace un tiempito usada la librería DataTable pero la estoy reemplazando de esta manera porque para hacer algunas cosas es muy complicado con DataTable (o hay que conocer muy bien la librería)
      Votos: 1 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com