2010-07-21 15 views
7

Dado el siguiente fragmento:

<div id="myDiv"> 
    This is my text <span>with a span</span> 
</div>  

jQuery puede obtener la cadena interior con:

$('#myDiv').text(); 

¿Hay una manera más intuitiva en el prototipo que:

$('myDiv').pluck('innerHTML').first().stripTags(); 
+0

acaba de mencionar que desde que estaba buscando en Google para esto: la función jQuery's text() parece ser la sustitución/alternativa/migración perfecta de la función stripTags() del prototipo – Toskan

Respuesta

4

Hum, doesn' t

$('myDiv').innerHTML.stripTags(); 

¿funciona?

Editar: si realmente desea un método text() en Prototype, puede hacerlo:

Class.extend(Element, { 
    text: function(element) { 
    return element.innerHTML.stripTags(); 
    } 
}; 

y luego usarlo como esto:

var txt = $('myDiv').text(); 
+0

No es que no funcione, es solo que parece una llamada tan común, esperaba una forma más simplificada de obtener la información. –

+0

Bueno, la línea con punteo es mucho más complicada de lo que escribí. –

+0

Llegando desde [esta pregunta] (http://stackoverflow.com/questions/17225697/secure-node-js-chat-avoid-xss), y [documentos de stripTags] (http://prototypejs.org/doc/ latest/language/String/prototype/stripTags/index.html) donde dice: 'lo suficientemente bueno para la mayoría de los propósitos, pero no puede confiar en él por razones de seguridad'. Me pregunto si es exactamente lo mismo que jQuerys '.text()'? –

Cuestiones relacionadas