使用jQuery或Javascript从子级查找父CSS选择器

使用jQuery或Javascript从子级查找父CSS选择器,javascript,jquery,html,css,css-selectors,Javascript,Jquery,Html,Css,Css Selectors,我想使用JavaScript或jQuery查找任何子选择器的父选择器。下面是静态HTML页面的示例代码: 此处类框和类框-2位于ID为容器的元素内部 假设我需要为某些情况找到CSS选择器。现在,在这种情况下,这是一个小例子。但是,如果代码太重,我想找到box或box-2的父选择器,即container。它使这个过程变得简单和灵活,而不是从谷歌开发者控制台(我使用的是chrome)手动查找。如果您不知道父类,也不知道标记,可以执行以下操作: $(函数(){ $(“.box,.box-2”).

我想使用JavaScript或jQuery查找任何子选择器的父选择器。下面是静态HTML页面的示例代码:


此处
类框
类框-2
位于ID为
容器
的元素内部


假设我需要为某些情况找到CSS选择器。现在,在这种情况下,这是一个小例子。但是,如果代码太重,我想找到
box
box-2
的父选择器,即
container
。它使这个过程变得简单和灵活,而不是从谷歌开发者控制台(我使用的是chrome)手动查找。如果您不知道父类,也不知道标记,可以执行以下操作:

$(函数(){
$(“.box,.box-2”).html(函数(){
return“我的父类是:”+$(this.nestest(“div”).nestest(“div”).attr(“class”);
});
});

父级CSS选择器

我想回答的是,父元素没有可用的css选择器

但是您可以使用js/jQuery来获取它的父元素。在jQuery中类似这样:

var cont = $('.box').siblings('.box-2').parent();
使用
.filter()

var cont = $('div').filter(function(){
    return $(this).find('.box').length && $(this).find('.box-2').length;
});
试试这个:

$('.box-2').parent();

看看这个jQuery函数,元素的CSS选择器是不明确的:有许多可能的选择器与同一个元素匹配,因此您不能只请求选择器。此外,如果您有一个选择器,则不能保证它不会与任何其他元素匹配……唯一保证唯一的选择器(在格式良好的文档中)是“id”。在jQuery中,选择器将是:
'div:has(.box):has(.box-2)
,现在你的问题很含糊,我不确定这是否是你所期望的。请决定接受哪个答案。一个问题一次只能有一个可接受的答案。如果你不能决定,你可以不接受任何答案。这里有点不对劲。。。在本例中,不应该有任何元素的class
box
box-2
是另一个元素的父元素。在本例中,看起来是这样的,而不是
$(this)。最近的(“div”)。最近的(“div”)
您应该使用:
最近的('div[class]')
@a.Wolff出于某种原因,
最近的(“div”)
显示当前父级。是的,我应该用那个,但OP需要的是最亲密的父母
:P
解决了这个问题,尽管有点不太方便。事实上,很抱歉,它不应该是
。最近的('div[class'))
,而是
。家长('div[class'))。首先()
,我的错这是魔鬼的工作
:s
不管你链上有多少个
。最近的('div>)
。仍然显示相同的输出。怎么做
o.o
您肯定要检查匹配集的
length
return$(this).find('.box').length&$(this).find('.box-2').length哦,没找到@A.Wolff。这就是为什么我如此喜欢你。Thnx.您使用
$('.box')。兄弟姐妹('.box-2')。parent()
的想法确实非常聪明:)来自您!我喜欢它。其实你是导师。从你的回答中学到了很多技巧。再次感谢。一点解释或文档参考会很有帮助。