【发布时间】:2012-01-26 18:04:30
【问题描述】:
全部,
我正在尝试在用户单击图像时显示一个 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
});
});
如您所见, dialog("open") 函数仅在我直接使用类选择器时有效,而在我使用 find() 函数时无效。但是由于页面上可能会有 loads 的 MyHelpButtons,我必须能够找到这个特定的 MyHelpText(被点击的 MyHelpButton 的子项) - 因此我使用 find ()。
关于我做错了什么有什么想法吗?
感谢您的帮助。
【问题讨论】:
-
您可能需要在您的答案接受度上做一些工作,您的接受度为 0%。它没有打开,因为 .find 没有返回任何项目。阅读文档api.jquery.com/find,看看有什么问题。
-
这个工作:
$($(this).selector + " .MyHelpText").dialog("open");jsfiddle.net/QGgyq -
成功了。非常感谢您的帮助
-
@asawyer - 我如何接受答案?
-
每个问题的答案左侧都有一个绿色复选框。如果它是正确的并且对您有所帮助,请单击它! :) 如果您愿意接受,我会将我的评论移至答案。
标签: jquery jquery-ui dialog find