Just found a different way of doing this: var text = $('#tes').contents().filter("[nodeType=3]");
http://docs.jquery.com/Traversing/contents http://www.w3schools.com/Dom/dom_nodetype.asp - ricardo On Oct 3, 11:37 am, Michael <[EMAIL PROTECTED]> wrote: > Those methods are destructive though. > A co-worker just came up with this very nice solution: > > alert($('#test').clone().children().remove().end().text()); > > ================================================================================= > On Oct 3, 10:09 am, "Mauricio \(Maujor\) Samy Silva" > > <[EMAIL PROTECTED]> wrote: > > 1-) alert($('*', $('p')).remove().text()) > > 2-) alert($('*', $('p')).empty().text()) > > > $('*', $('p')) // contextual selector: finds all HTML elements inside the > > paragraphs. > > Chain with empty() ou remove() according your needs > > > Maurício > > > > Is there a more elegant, concise, pure jQuery approach to doing the > > > following?... > > > > HTML: <p id="test">paragraph_text<span>span_text</span></p> > > > > JAVASCRIPT: > > > var p_txt = $('#test').text().substring(0, ($('#test').text().length - > > > $('#test span').text().length)); > > > alert(p_txt); > > > > OUTPUT: paragraph_text