He echado un vistazo y estoy teniendo algunas dificultades para resolver un pequeño problema que estoy teniendo.Obtiene la representación de cadena de un HTML completo del objeto DOM de jquery
, básicamente, tienen una cadena de HTML, lo que convertir a un objeto jQuery DOM para que pueda eliminar fácilmente todos los elementos que tienen una cierta clase utilizando .Remove de jQuery(). Es decir,
var radHtml = editor.get_html();
var jqDom = $(radHtml);
$(".thickbox", jqDom).remove();
$(".thickboxcontent", jqDom).remove();
editor.set_html(this.innerHTML);
NOTA: El HTML se deriva de contenido en un editor de texto RadEditor lo que no hay etiquetas HTML de los padres, por lo que puede verse de la siguiente manera:
<p>This is a header</p>
<p>this is some content followed by a table </p>
<a href="#TB_inline?height=350&width=400&inlineId=myOnPageContent0" class="thickbox">Test Thickbox</a>
<div id="myOnPageContent0" class="thickboxcontent">
<table class="modal">
<thead>
</thead>
<tbody>
<tr>
<td>item</td>
<td>result</td>
</tr>
<tr>
<td>item 1</td>
<td>1</td>
</tr>
<tr>
<td>item 2</td>
<td>2</td>
</tr>
<tr>
<td>item 3</td>
<td>3</td>
</tr>
</tbody>
</table>
</div>
Aquí es lo que el jqDom.html() devuelve el HTML anterior:
"This is a header"
me preguntaba si había una manera fácil de hacer esto - tener un poco de html y eliminar todos los elementos (en este caso los divs) que tienen una determinada clase (pero dejando su contenido). JQuery no tiene que usarse, pero me gustaría.
Manipular el objeto DOM está bien - está obteniendo el objeto DOM completo en su totalidad como una cadena con la que estoy teniendo el problema.
Cualquier ayuda sería muy apreciada. Gracias.
Cuando dice que .html() solo obtiene el primer elemento, ¿quiere decir que hay varios elementos hermanos dentro de un único contenedor identificado, y solo el primero está seleccionado? ¿Puedes publicar una muestra (muy reducida) del HTML en cuestión? –
muestra añadida en la edición – Scozzard