jquery - CSS隐藏除指定元素之外的所有元素

标签 jquery css

下面的 jQuery 代码是否有等效的 CSS:

$('#myElement').parents().siblings().hide()
$('#myElement').siblings().hide()

这正是我想要的,它隐藏了除了给定元素的父元素和后代元素之外的所有内容。我想创建一个具有相同效果的 @media print CSS 规则。

最佳答案

您可以尝试使用 3 级选择器伪类 :not() 实现此目的,但浏览器支持似乎很差:caniuse.com :not() selector .

编辑:

我假设您可以向包含您的#myElement 的父元素添加一个不同的类。

或者,您可以定位所有标签以防万一,例如 <p>, <section>等在<div>之外,像这样改变它:.container :not(.parent):not(.different)

.container div:not(.parent):not(.different) {
  display: none;
}
.children,
.parent-sibling {
  width: 100px;
  height: 100px;
  background-color: red;
  margin-bottom: 10px;
}
.parent-sibling {
  background-color: blue;
}
.different {
  background-color: green;
}
<div class="container">
  <div class="parent">
    <div class="children"></div>
    <div class="children different"></div>
    <div class="children"></div>
    <div class="children"></div>
  </div>
  <div class="parent-sibling">
    <div class="children"></div>
    <div class="children"></div>
    <div class="children"></div>
    <div class="children"></div>
  </div>
  <div class="parent-sibling"></div>
</div>

关于jquery - CSS隐藏除指定元素之外的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37425013/

相关文章:

php - Laravel4 POST 无法解释的重定向到 GET

html - CSS vw 和 vh 但相对于父级而不是视口(viewport)

javascript - 如何使用 JS 获取 "active page"状态类

css - 如何将图像粘贴到可见屏幕的底部并居中?

html - 升级 Font Awesome 后,字体 'search' 的 Unicode 字符未显示

javascript - 在html中动态嵌入视频

jquery - SB Admin 2 侧边栏菜单在加载时扩展

jquery - HTML JQUERY 在 UL/LI 上实现向下箭头

javascript - 尝试使用两个表格和三个div创建固定的标题效果

javascript - Jquery toggle()跟随导航栏 Bootstrap 的边框