search
HomeWeb Front-endFront-end Q&ARow click to show hidden row jquery

随着互联网的发展,页面交互效果越来越重要,而点击展开、收起内容就是一种很实用的效果。在前端开发中,使用jQuery可以轻松实现这一效果,接下来就让我们来学习如何实现点击显示隐藏行的效果。

实现效果

首先,我们来看一下需要实现的效果。

上图中,有一个表格,其中包含多行内容。默认情况下,每一行内容都是隐藏的,只有当我们点击相应的鼠标图标时,才会展开或收起相应的行内容。

HTML结构

首先,我们需要建立相应的HTML结构:

<table>
  <thead>
    <tr>
      <th>产品名称</th>
      <th>数量</th>
      <th>价格</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        产品1
      </td>
      <td>
        50
      </td>
      <td>
        $100
      </td>
      <td>
        <i class="fa fa-plus-circle"></i>
        <i class="fa fa-minus-circle"></i>
      </td>
    </tr>
    <tr class="hide">
      <td colspan="4">
        <div class="inner">
          <p>产品1介绍</p>
        </div>
      </td>
    </tr>
    <tr>
      <td>
        产品2
      </td>
      <td>
        100
      </td>
      <td>
        $200
      </td>
      <td> 
        <i class="fa fa-plus-circle"></i>
        <i class="fa fa-minus-circle"></i>
      </td>
    </tr>
    <tr class="hide">
      <td colspan="4">
        <div class="inner">
          <p>产品2介绍</p>
        </div>
      </td>
    </tr>
  </tbody>
</table>

我们建立了一个表格,其中包含了表头和表身,但是,我们希望表身中的内容默认是隐藏的。所以,我们需要使用CSS将其隐藏:

.hide {
  display: none;
}

在每一行内容的最后一个单元格中,我们添加了两个图标,分别用于展开和收起相应内容。这里使用了Font Awesome提供的图标字体。

jQuery实现点击显示隐藏

接下来,就是实现思路。我们需要使用jQuery,来给相应的图标绑定点击事件,并且让其能够展开或收起相应行的内容。

$(document).ready(function(){
  // 给展开图标绑定点击事件
  $('.fa-plus-circle').click(function(){ 
    var tr = $(this).parent().parent(); // 获取当前行
    tr.next().show(); // 显示下一行
    $(this).hide(); // 隐藏当前图标
    tr.find('.fa-minus-circle').show(); // 显示收起图标
  });
  // 给收起图标绑定点击事件
  $('.fa-minus-circle').click(function(){
    var tr = $(this).parent().parent(); // 获取当前行
    tr.next().hide(); // 隐藏下一行
    $(this).hide(); // 隐藏当前图标
    tr.find('.fa-plus-circle').show(); // 显示展开图标
  });
});

我们在document ready事件中,给展开图标和收起图标分别绑定了点击事件。当点击展开图标时,我们首先获取当前行,然后通过next()方法获取下一行内容,使其显示出来,同时隐藏当前图标,显示收起图标;当点击收起图标时,我们同样获取当前行,然后通过next()方法获取下一行内容,使其隐藏起来,同时隐藏当前图标,显示展开图标。这样,就实现了点击显示和隐藏行的效果。

CSS样式

最后,为了美化展示效果,我们添加一些CSS样式:

table {
  border-collapse: collapse;
  margin: 50px auto;
}
th, td {
  border: 1px solid #ccc;
  padding: 10px;
  text-align: center;
}
th {
  background-color: #f0f0f0;
}
.inner {
  padding: 20px;
}
.fa {
  font-size: 24px;
  margin-right: 10px;
  cursor: pointer;
}
.fa-plus-circle {
  color: green;
}
.fa-minus-circle {
  color: red;
}

我们设置了表格的样式,每一行以及表头都有边框线和居中的文字,表头背景色为灰色;将展开和收起图标的字体大小设为24px,并添加字体颜色。

到这里为止,我们已经实现了点击显示隐藏行效果。如果在实际开发中,遇到类似的需求,可以依照上述思路和代码进行实现,将会使页面交互效果更为美观、易用。

The above is the detailed content of Row click to show hidden row jquery. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
CSS: Is it bad to use ID selector?CSS: Is it bad to use ID selector?May 13, 2025 am 12:14 AM

Using ID selectors is not inherently bad in CSS, but should be used with caution. 1) ID selector is suitable for unique elements or JavaScript hooks. 2) For general styles, class selectors should be used as they are more flexible and maintainable. By balancing the use of ID and class, a more robust and efficient CSS architecture can be implemented.

HTML5: Goals in 2024HTML5: Goals in 2024May 13, 2025 am 12:13 AM

HTML5'sgoalsin2024focusonrefinementandoptimization,notnewfeatures.1)Enhanceperformanceandefficiencythroughoptimizedrendering.2)Improveaccessibilitywithrefinedattributesandelements.3)Addresssecurityconcerns,particularlyXSS,withwiderCSPadoption.4)Ensur

What are the main areas where HTML5 tried to improve?What are the main areas where HTML5 tried to improve?May 13, 2025 am 12:12 AM

HTML5aimedtoimprovewebdevelopmentinfourkeyareas:1)Multimediasupport,2)Semanticstructure,3)Formcapabilities,and4)Offlineandstorageoptions.1)HTML5introducedandelements,simplifyingmediaembeddingandenhancinguserexperience.2)Newsemanticelementslikeandimpr

CSS ID and Class: common mistakesCSS ID and Class: common mistakesMay 13, 2025 am 12:11 AM

IDsshouldbeusedforJavaScripthooks,whileclassesarebetterforstyling.1)Useclassesforstylingtoallowforeasierreuseandavoidspecificityissues.2)UseIDsforJavaScripthookstouniquelyidentifyelements.3)Avoiddeepnestingtokeepselectorssimpleandimproveperformance.4

What is thedifference between class and id selector?What is thedifference between class and id selector?May 12, 2025 am 12:13 AM

Classselectorsareversatileandreusable,whileidselectorsareuniqueandspecific.1)Useclassselectors(denotedby.)forstylingmultipleelementswithsharedcharacteristics.2)Useidselectors(denotedby#)forstylinguniqueelementsonapage.Classselectorsoffermoreflexibili

CSS IDs vs Classes: The real differencesCSS IDs vs Classes: The real differencesMay 12, 2025 am 12:10 AM

IDsareuniqueidentifiersforsingleelements,whileclassesstylemultipleelements.1)UseIDsforuniqueelementsandJavaScripthooks.2)Useclassesforreusable,flexiblestylingacrossmultipleelements.

CSS: What if I use just classes?CSS: What if I use just classes?May 12, 2025 am 12:09 AM

Using a class-only selector can improve code reusability and maintainability, but requires managing class names and priorities. 1. Improve reusability and flexibility, 2. Combining multiple classes to create complex styles, 3. It may lead to lengthy class names and priorities, 4. The performance impact is small, 5. Follow best practices such as concise naming and usage conventions.

ID and Class Selectors in CSS: A Beginner's GuideID and Class Selectors in CSS: A Beginner's GuideMay 12, 2025 am 12:06 AM

ID and class selectors are used in CSS for unique and multi-element style settings respectively. 1. The ID selector (#) is suitable for a single element, such as a specific navigation menu. 2.Class selector (.) is used for multiple elements, such as unified button style. IDs should be used with caution, avoid excessive specificity, and prioritize class for improved style reusability and flexibility.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),