我正在尝试为jQuery创建一个上下文菜单,我正在使用jQuery UI对话框并进行修改 它符合我的需求:
var menu = $(this);
menu.dialog('option', 'position', [jsEvent.clientX, jsEvent.clientY]);
menu.unbind('dialogopen');
menu.bind('dialogopen', function(event, ui) {
$('.ui-dialog-titlebar').hide();
$('.ui-widget-overlay').unbind('click');
$('.ui-widget-overlay').css('opacity', 0);
$('.ui-widget-overlay').click(function() {
menu.dialog('close');
});
});
menu.dialog('open');
现在,这只有在没有使用.ui-dialog-titlebar
的用户界面时才有效,因为当上下文菜单触发时它们会消失
var id = '#'+$(this).attr('id');
并仅在我的菜单中选择元素
$(id+' .ui-dialog-titlebar').hide();
但它似乎不起作用,.ui-dialog-titlebar
仍在那里
如何选择菜单中的元素仅?
答案 0 :(得分:1)
$('.ui-dialog-titlebart', this).hide()
$('你想要的项目',这个)是仅当它是当前元素的子项时选择项目的快捷方式
答案 1 :(得分:1)
要在另一个元素中查找具有特定类的所有元素,您可以使用find()
:
$(this).find('.ui-dialog-titlebart').hide();
如果您想隐藏除UL
元素之外的某个类的所有元素:
$('.ui-dialog-titlebar').not('ul').hide();
或仅定位LI
元素
$('li.ui-dialog-titlebar').hide();
答案 2 :(得分:1)
你可以这样试试,
var menu = $(this);
$(menu).find('.ui-dialog-titlebar').hide();
您可以参考jQuery Selector。如果需要..