jQuery中有.findUsingParent()函数吗?

时间:2015-03-16 09:33:28

标签: javascript jquery html css

div.tabs是制表符控件的容器。 div.tab是个人标签,div.tabs的孩子。 div.tab.active是当前显示的标签。

.data是一个无论什么元素。它可以显示在任何div.tab中,也可以只显示在body中,如果这些不是.tab

任务:

  • 如果有.tabs,请选择.data的孩子{/ 1}}。
  • 如果没有.tab.active,请选择所有.tabs

我写了以下两个版本:

.data

但我想知道是否有一个函数 // First version var data; if ($('.tabs').length) { data = $('.tab.active .data'); } else { data = $('.data'); } // Section version var data = $('*'); if ($('.tabs').length) { data = data.find('.tab.active'); } data = data.find('.data'); 从一组元素s.findUsingParent(e)中选择e的子元素

s

是否有jQuery?
有一个纯粹的CSS解决方案吗?

1 个答案:

答案 0 :(得分:2)

您可以使用.filter()函数过滤父级为.tab.active的元素:

var data = $('data');
if ($('.tabs').length) {
  data = data.filter(function(){
      return $(this).closest('.tab.active').length !=0;
   });
}