I think, at a bare minimum, you'll want to change this: var title = $(this h3).val();
...to this: var title = $('h3', this).text(); ...and this: $(this h3).append... ...to this: $('h3', this).append... I think that'll solve your immediate problem. - jason On Jun 17, 2:37 pm, Dan <[EMAIL PROTECTED]> wrote: > I have a list like: <li class="editable"><h3>TITLE</h3></li> and I > want to add the content "Open" after TITLE in the h3 tags that will > open a dialog corresponding to this li, but do this to every other > element just like it. > > $(".editable").each(function(){ //get each editable li element > var title = $(this h3).val(); //get the content in the h3 tag > $(this h3).append( "<span title='" + title + "' class='edit'>OPEN</ > span>" ); //add the open content with a marker so the right dialog is > opened > $(this).append( "<div id='" + title + "' > class='edit_dialog'>" ).append( $(".same_content") ).append( "</ > div>" ); //create the content in the dialog and mark the dialog div > with the same marker as the "Open" content/button}); > > $(".edit_dialog").dialog(); //make the dialog content a dialog > $(".edit").click(function () { //When the "Open" content is > clicked, ... > var title = $(this).attr("title"); //... get the title marker ... > $("div #" + title).dialog("open"); //... and open the corresponding > dialog > > }); > > I added the comments to this post, they aren't really there on my > file. > I think I have the right idea, but my jQuery isn't correct. Firebug > said the 2nd line was missing a ), but that must be caused by > something else. How should this look to work like the comments say?