我有一个 jQuery UI 对话框,我想在没有标题的情况下呈现。我有这个工作,这不是问题。
我很好奇的是为什么 jQuery:parent
选择器不会选择对话内容div
的父级,但parent()
函数会选择。这是一个工作示例:
HTML:
<input id="example1" type="button" value="Use :parent selector">
<input id="example2" type="button" value="Use parent() function">
<!--
One of many dialogues on the page, but this one needs
the title removed.
-->
<div id="throbber" style="display:none">
<p>Doing work...be patient....</p>
<img src="http://i.stack.imgur.com/GUw9u.gif"/>
</div>
脚本:
$("#example1").bind("click", function() {
$("#throbber").dialog("destroy"); // for jsfiddle example
$("#throbber").dialog({
resizable: false,
modal: false,
width: 150
});
$("#throbber:parent .ui-dialog-titlebar").hide();
});
$("#example2").bind("click", function() {
$("#throbber").dialog("destroy"); // for jsfiddle example
$("#throbber").dialog({
resizable: false,
modal: false,
width: 150
});
$("#throbber").parent().find(".ui-dialog-titlebar").hide();
});
这是jsFiddle中的上述代码:
在 chrome 中,如果我在渲染对话框后设置断点,如果我这样做$("#throbber:parent")
,如预期的那样,它会自行选择:
如果我尝试选择它:parent
,它不会,它只是再次选择自己:
如果我使用$("#throbber").parent()
,这次它会选择它的父级:
这里发生了什么,为什么:parent
select#throbber
的父母还.parent()
没有呢?