所有
我正在尝试在用户单击图像时显示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 ()。
关于我做错的任何想法?
感谢您的帮助。
答案 0 :(得分:1)
$($(this).selector + " .MyHelpText").dialog("open");
语法为$(&#34; {someselector} {anotherselector}&#34;)的选择器会提示jQuery执行后代搜索,如下所示:
答案 1 :(得分:0)
试试这个http://jsfiddle.net/heera/cL7nX/3,希望它能为您提供帮助。