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

Reply via email to