Doesn't that code give a "not a function" JavaScript error when you try to
run it? Load the page with Firebug and it should log an error on this code
when you click:

$(this).parent().parent().$(".dialog").dialog("open");

Let's break it down:

$(this) - the "add" SPAN
$(this).parent() - the H3
$(this).parent().parent() - the LI
$(this).parent().parent().$ - undefined (a jQuery object does not have a $
property/method).
$(this).parent().parent().$(".dialog") - error calling undefined function

I think what you're looking for may be:

$(this).parent().parent().find(".dialog").dialog("open");

-Mike

> I have a list like:
> <li>
> <h3><span class="add">ADD</span></h3>
> <div class="dialog">Content 1</div>
> </li>
> <li>
> <h3><span class="add">ADD</span></h3>
> <div class="dialog">Text 2</div>
> </li>
> 
> I want to open a dialog, which are the divs, when the ADD is clicked.
> But I only want the dialog that is in the same li tag as the 
> Add button being clicked. I though the following might work, 
> but it's not
> right:
> 
> $(".add").click(function () {
> $(this).parent().parent().$(".dialog").dialog("open");
> });
> 
> Shouldn't that go span -> h3 -> li -> div (dialog)  ??? What 
> should it be?

Reply via email to