【问题标题】:Is it possibile to get elements whose child has a specific class?是否可以获取子元素具有特定类的元素?
【发布时间】:2014-08-13 17:46:13
【问题描述】:

假设一个 div 有三个子 div。只有当其中一个孩子有特定的班级时,我才想获得这些元素。用css可以做到吗?

【问题讨论】:

  • css 中还没有父选择器。
  • 这会让你的 CSS 向上浏览 DOM,这是不可能的。当您将类添加到三个子项中的任何一个时,请考虑使用 Javascript 将类添加到父项。
  • Is there a CSS parent selector? 的可能重复项
  • 你可以尝试使用 jQuery 使用 Closet() 方法,因为在 jquery 中没有父选择器
  • 也许你可以使用is('.someclass')

标签: css css-selectors


【解决方案1】:

这仅靠 CSS 是不可能的。你将不得不做一些像这样的javascripting。用你自己的替换选择器类。

$(document).ready(function() {
    var hasChild = $('div.wrapper div.childClass').length >  0;
    if (hasChild) {
      // add specific class;
      $('div.wrapper').addClass('specific');
    }
});

然后你就可以为特定的类设置样式了;

【讨论】:

    【解决方案2】:

    css 中没有父选择器,但如果你想要这样的选择器,可以使用 jQuery。

    试试下面的代码

    $('div:has(> a.active)').css('background', 'red');
    

    查看DEMO

    【讨论】:

      猜你喜欢
      • 2018-09-16
      • 2011-10-17
      • 2014-03-30
      • 1970-01-01
      • 1970-01-01
      • 2010-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多