Jquery 获取不包含具有属性值的子级的父级

Jquery 获取不包含具有属性值的子级的父级,jquery,Jquery,我有N个DIV。每个代表一台物理计算机。每个DIV可以有N个UL元素。每个UL代表安装在服务器上的软件类型。最后,每个UL元素包含N个LI元素,表示与软件(UL)相关的数据 我想选择一个不包含具有特定数据的LI元素的服务器(数据表示为LI元素上的数据id属性) 我创建了一个应用程序,并使用.not()(javascript窗口中的第3行): 但无论提供什么输入,它总是返回两个服务器 $('.srv').not('li[data-id="2"]').each(function(){ ser

我有N个DIV。每个代表一台物理计算机。每个DIV可以有N个UL元素。每个UL代表安装在服务器上的软件类型。最后,每个UL元素包含N个LI元素,表示与软件(UL)相关的数据

我想选择一个不包含具有特定数据的LI元素的服务器(数据表示为LI元素上的数据id属性)

我创建了一个应用程序,并使用.not()(javascript窗口中的第3行):

但无论提供什么输入,它总是返回两个服务器

$('.srv').not('li[data-id="2"]').each(function(){
    servers += $(this).attr('id') + ', ';
});
使用:


在fiddle中,我只看到srv1,输出必须是什么?
$('.srv')。不是(':has(li[data id=“2”]))。每个(function(){…})
。它返回srv1、srv2、srv2。预期输出为srv2
 $(".srv:not(:has(li[data-id=2]))")