ul has a previous sibling (the h1); I suspect there's a head tag
that's the body's previous sibling. In both cases then, prevAll()
would result in a length of 1.
Also I assume you meant the second paragraph, which starts with "In
addition to this the earth".

On Jul 9, 12:27 am, Shashank <sayhitoshash...@gmail.com> wrote:
> Hello,
>
> I have an HTML page where when user clicks on a paragraph I want to
> find out its path. I have written a jquery script for it:
>
> jQuery.fn.extend({
>     getPath: function( path ) {
>         // The first time this function is called, path won't be
> defined.
>         if ( typeof path == 'undefined' ) path = '';
>         if ( this.is('html') )
>             return '/html' + path;
>         // Add the element name.
>         var cur = this.get(0).nodeName.toLowerCase();
>         var index = this.prevAll().length;
>         // Recurse up the DOM.
>         return this.parent().getPath( '/' + cur + '[' + index + ']' +
> path );
>     }
>
> });
>
> On an html page like this
> <body>
>         <h1> Testing </h1>
>         <ul>
>             <li>
>             <p> Except when the winds rise to a high speed, we seem to
> live in a very tranquil world.</p>
>             <p> In addition to this the earth revolves round the sun
> at a speed of more than a thousand miles a minute.</p>
>             </li>
>             <li>
>             <p> Circling round the earth, in the same way as the earth
> circles round the sun, is our moon. </p>
>             </li>
>         </ul>
> </body>
>
> Clicking on the second paragraph "Except when the winds..." generates /
> html/body[1]/ul[1]/li[0]/p[1]. I am not getting why body and ul have
> index 1. Please help. Sorry for the long mail.

Reply via email to