2010-07-21 7 views
7

Dato il seguente frammento:

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

JQuery può ottenere la stringa interno con:

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

Esiste un modo più intuitivo di Prototipo di:

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

solo per citare da quando ero googling per questo: la funzione text() di jQuery sembra essere la perfetta sostituzione/alternativa/migrazione della funzione stripTags() del prototipo – Toskan

risposta

4

Hum, doesn' t

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

lavoro?

Edit: se si vuole veramente un metodo text() in Prototype, è possibile farlo:

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

e quindi utilizzarlo in questo modo:

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

Non è che non funzioni, è solo che questa sembra una chiamata così comune, mi aspettavo un modo più semplificato per ottenere le informazioni –

+0

Bene, la battuta è molto più complicata di quello che ho scritto. –

+0

Arrivando da [questa domanda] (http://stackoverflow.com/questions/17225697/secure-node-js-chat-avoid-xss) e [documenti stripTags] (http://prototypejs.org/doc/ latest/language/String/prototype/stripTags/index.html) dove dice: 'abbastanza buono per la maggior parte degli scopi, ma non si può fare affidamento su di esso per scopi di sicurezza'. Mi chiedo se sia esattamente la stessa cosa di jQuerys '.text()'? –