全,
当用户单击图像时,我试图使一个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
});
});如您所见,对话框(“open”)函数只有在直接使用类选择器时才能工作,而不是在使用find()函数时工作。但是,由于页面上有潜在的MyHelpButtons负载,所以我必须能够找到这个特定的MyHelpText (被单击的MyHelpButton的一个子MyHelpText)--因此我使用了find()。
对我做错了什么有什么想法吗?
谢谢你的帮助。
发布于 2012-01-26 19:00:14
$($(this).selector + " .MyHelpText").dialog("open"); 带有synatx $("{someselector} {an异性选择器}“)的选择器提示jQuery执行子代搜索,如下文所述:
发布于 2012-01-26 18:20:20
试试这个http://jsfiddle.net/heera/cL7nX/3,希望它能帮到你。
https://stackoverflow.com/questions/9022973
复制相似问题