无法在查找结果上调用jquery对话框

时间:2012-01-26 18:04:31

标签: jquery jquery-ui dialog find

所有

我正在尝试在用户单击图像时显示JQuery对话框。

这是我的HTML的简化版本:

<div class="MyHelpButton" style="display: inline;">
    <img src="{{MEDIA_URL}}/img/MyHelpIcon.png"/>
    <div class="MyHelpText" title="MyTitle">
        here <i>is</i> <u>some</u> <b>text</b>
    </div>
</div>

我的JavaScript:

$(function() {
    $(".MyHelpText").dialog({autoOpen:false});
    $(".MyHelpButton").click(function() {
        $(this).find(".MyHelpText").dialog("open"); // this doesn't work
        //$(".MyHelpText").dialog("open"); // this works
    });
});

正如您所看到的,对话框(“打开”)功能仅在我直接使用类选择器时才起作用,而不是在我使用find()函数时。但是由于页面上可能存在MyHelpButtons的加载,我必须能够找到这个特定的MyHelpText(被点击的MyHelpButton的子项) - 因此我使用了find ()。

关于我做错的任何想法?

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

This works:

$($(this).selector + " .MyHelpText").dialog("open"); 

语法为$(&#34; {someselector} {anotherselector}&#34;)的选择器会提示jQuery执行后代搜索,如下所示:

http://api.jquery.com/descendant-selector/

答案 1 :(得分:0)

试试这个http://jsfiddle.net/heera/cL7nX/3,希望它能为您提供帮助。