📜  jQuery |父后代选择器(1)

📅  最后修改于: 2023-12-03 14:43:16.342000             🧑  作者: Mango

简介

jQuery是一个广泛使用的JavaScript库,一些常用的选择器和操作都可以通过它来实现。本文将介绍jQuery中的父后代选择器。

父后代选择器可以帮助我们选择一个父元素下的所有后代元素。

语法
$("parentSelector descendantSelector")

其中,parentSelector是父元素选择器,descendantSelector是后代元素选择器。

示例

假设页面结构如下:

<div class="parent">
  <p>这是父元素下的第一个段落</p>
  <p>这是父元素下的第二个段落</p>
  <div class="child">
    <p>这是子元素下的第一个段落</p>
    <p>这是子元素下的第二个段落</p>
  </div>
</div>
  1. 选择所有父元素下的所有p元素:
$(".parent p")
  1. 选择所有父元素下的所有子元素:
$(".parent .child *")
实战

假设我们有一个需要实现类似“折叠面板”的交互效果的页面,每个折叠面板包含一个标题和一些内容。默认情况下,所有内容都是收起状态。当点击标题时,对应的内容才会展开或收缩。

HTML代码:

<div class="accordion">
  <div class="panel">
    <h3>抽屉1</h3>
    <div class="content">
      <p>这是抽屉1的内容</p>
      <p>这是抽屉1的内容</p>
    </div>
  </div>
  <div class="panel">
    <h3>抽屉2</h3>
    <div class="content">
      <p>这是抽屉2的内容</p>
      <p>这是抽屉2的内容</p>
    </div>
  </div>
</div>

CSS代码:

.panel {
  margin-bottom: 20px;
}
.panel h3 {
  padding: 10px 0;
  cursor: pointer;
  background-color: #eee;
}
.content {
  display: none;
  padding: 10px;
  background-color: #f1f1f1;
}

JS代码:

$(".accordion .panel h3").click(function() {
  var $content = $(this).siblings(".content");
  if ($content.is(":visible")) {
    $content.slideUp();
  } else {
    $content.slideDown();
  }
});
总结

父后代选择器可以用来选择一个父元素下的所有后代元素,可以方便地对页面元素进行操作,例如实现折叠面板等交互效果。