I have a small problem when dealing with effects. Warning: Noob question ahead.
Currently I have a list of items <ul id="gallery"> <li>test</li> <li>test2</li> </ul> alert($("#gallery li:first").html()) will correctly echo "test". If I want to add a new element before that with a slideDown effect, I use this line: $("#gallery li:first").before().html("<li>testing</ li>").hide().slideDown("slow") Although this correctly adds the line and smoothly slides it down, now the list is like this: <ul id="gallery"> <li style="display: block;"> <li>testing</li> </li> <li>test</li> <li>test2</li> </ul> The extra li with the style is added by jQuery for the effect. This isn't a problem until you want again to add something before the first element. Now alert($("#gallery li:first").html()) incorrectly (well, correctly, but not what I want anyway) returns "<li>testing</li>" instead of "testing" which means that if I try to do the same effect with the same code it will not add before, rather, it will replace it and do the effect again. Any help? Thank you in advance. Panagiotis