[英]jQuery limit selector to it's parent
我正在嘗試為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
UI時有效,因為它們會在上下文菜單觸發時消失
我想這樣做:
var id = '#'+$(this).attr('id');
並僅在我的菜單中選擇元素
$(id+' .ui-dialog-titlebar').hide();
但它似乎不起作用, .ui-dialog-titlebar
仍然存在
如何僅在菜單中選擇元素?
$('.ui-dialog-titlebart', this).hide()
$('您想要的項目',this)是僅當它是當前元素的子項時選擇項目的快捷方式
要在另一個元素中查找具有特定類的所有元素,可以使用find()
:
$(this).find('.ui-dialog-titlebart').hide();
如果您想隱藏除UL
元素之外的所有具有特定類的元素:
$('.ui-dialog-titlebar').not('ul').hide();
或僅針對LI
元素
$('li.ui-dialog-titlebar').hide();
你可以這樣嘗試
var menu = $(this);
$(menu).find('.ui-dialog-titlebar').hide();
您可以參考jQuery Selector 。 如果需要的話..
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.