Esto funcionará:
$("#editorContainer iframe").contents().find("body").text();
que contendrá sólo el texto, y ninguna de las etiquetas HTML.
ACTUALIZACIÓN
Definitivamente funciona en el CKEditor demo page. Utilizar Firefox y Firebug, vaya a la consola de Firebug, y escribe:
$("#demoInside iframe").contents().find("body").text();
La consola imprimir el texto en el editor, sin etiquetas HTML. Asegúrese de tener el selector correcto en su aplicación particular. Puede probar su selector así:
$("#demoInside iframe").contents().find("body").length;
Eso debería ser igual a 1. Si es 0, su selector está equivocado.
ACTUALIZACIÓN 2
Una vez más, mi código es todavía correcta, y que todavía funciona en esa página. Solo necesitas el selector correcto. En la página a la que se ha vinculado, es <span>
con id cke_editor1
. Esa página en particular no utiliza jQuery, por lo que requiere un trabajo adicional para probar que esta muestra funciona. Instale FireQuery, "jqueryify" la página, y luego haga esto en la consola Firebug (tenga en cuenta que debe usar jQuery
y no $
. Así es como funciona FireQuery).
jQuery("#cke_editor1 iframe").contents().find("body").text();
En resumen, asegúrese de tener el selector hacia la derecha para llegar a su marco flotante. Si crea su CKEditor desde <div>
o <textarea>
no es importante. Siempre que pueda seleccionar el que CKEditor inyecta en el DOM, puede usar .contents().find("body").text()
para obtener el texto de ese iframe. ¿Has probado tu selector jquery para ver si .length == 1
?
Parece que no funciona, obtengo una cadena vacía incluso si tengo algo de texto escrito en el control. Intenté reemplazar #editorContainer con # editor1 porque esa es la ID de textarea, pero eso tampoco funciona. –
Demo reemplaza a DIV, mientras que mi código reemplaza a TEXTAREA. ¿Podría decirme qué selector usar en la página de muestra de CKEditor: http://nightly.ckeditor.com/latest/ckeditor/_samples/replacebyclass.html? Esto me ayudaría a determinar qué debería usar en mi código. Gracias. –
Sé que esta pregunta es antigua, pero tengo curiosidad por saber qué seleccionaría val() también, porque .text() simplemente tira del texto, pero no del formato html ni del formato. – Trip