views:

81

answers:

2

Hi I m having a ordered list having the structure

<ol>
      <li>
      </li>
      <li>
      </li>
      <li>
         <ol>
              <li>
                 Test
              </li>
              <li>
                 another test
              </li>
              <li>
                   <a href='#'>Add </a>
              </li>
         </ol>
      </li>

</ol>

I want to add a list item between sublist 2 and 3 using jquery

I used the code: -

$("ol#update li ol li:eq(1)").append("<li> test </li>");

But this appends inside the li "another test" and not after the 2 li

Here is the example page

On-click "sub-comment" adds a li inside li 2
Clicking on "comment" shows the structure of the sub lis

Please help

Thanks

Pradyut

+1  A: 

Use after instead of append

Dominic Barnes
+1 Exactly what I was going to answer
alex
thanks for the lightening fast answer...:-)btw where do i find a list of jquery functions....thanks
Pradyut Bhattacharya
http://api.jquery.com/after/
Tom
A: 

I'm not big into jquery... but using normal javascript functions (as well) you can do:

var item = $("ol#update li ol li:eq(1)");
var thingToAppend = document.createElement('li');
thingToAppend.innerHTML = ' test ';
item.parentNode.insertBefore(item, thingToAppend);
// or
item.parentNode.appendChild(thingToAppend);
// or apparently.... with jQuery something like:
item.after(thingToAppend);
Chibu