Tengo un formulario con varios campos de entrada, incluido el editor WYSIWYG como campo de entrada. En el editor WYSIWYG, el usuario ingresa los datos usando la tabla HTML. Pero en algún momento, al agregar una nueva fila, el usuario ingresa un nuevo fragmento de tabla dentro de la misma fila que en el código a continuación.
<table width="100%"> <tbody> <tr> <td></td> <td></td> </tr> <tr> <td></td> <td></td> </tr> <tr> <td></td> <td> <table width="100%"> <tbody> <tr> <td></td> <td></td> </tr> </tbody> </table> </td> </tr> </tbody>¿Cómo puedo validar este fragmento de código HTML usando Javascript? ¿Cómo puedo identificar que dentro o en la etiqueta de la tabla (<tabla) existe? Cualquier ayuda sería apreciada.
Puede crear un elemento a partir de su HTML como este:
function htmlToElement(html) { var template = document.createElement('template'); html = html.trim(); // Never return a text node of whitespace as the result template.innerHTML = html; return template.content.firstChild; } const myTable = htmlToElement('<table width="100%">....</table>');... y luego verifique si hay una tabla dentro de la tabla:
if (myTable.querySelector('table')) { // ... }Créditos por la función htmlToElement: creación de un nuevo elemento DOM a partir de una cadena HTML utilizando métodos DOM integrados o prototipo