In web development, tables are one of the frequently used elements for displaying multiple pieces of data. But sometimes we need to merge multiple rows of data to display clearer information. This article will introduce how to use jQuery to merge table rows.
Step one: Determine the columns that need to be merged
First we need to determine which columns need to be merged. Typically, we need to consider which columns have the same information and need to merge them.
For example, in the table below, we need to merge the same cells in the second column.
Name | Subject | Achievements |
---|---|---|
Zhang San | MATHEMATICS | 90 |
李四 | MATHEMATICS | 80 |
张三 | 中文 | 85 |
李四 | 中文 | 95 |
Step 2: Write jQuery code
With the columns that need to be merged, we can start writing jQuery code. The idea of the code is to find adjacent cells and merge them if the contents are the same.
The following is the specific code implementation:
function mergeCells(tableID, colList) { // 遍历需要合并的列 for (var colIndex = 0; colIndex < colList.length; colIndex++) { var startIndex = 1; // 开始合并的行 var endIndex = 0; // 结束合并的行 var preContent = ''; // 前一个单元格的内容 // 遍历每一行 $('#' + tableID + ' tr').each(function(rowIndex) { var content = $(this).find('td:eq(' + colList[colIndex] + ')').text(); // 获取当前单元格的内容 // 判断当前单元格是否需要合并 if (rowIndex > startIndex && content == preContent) { endIndex = rowIndex; // 更新结束合并的行索引 } else { if (endIndex > startIndex) { // 合并单元格 $(this).find('td:eq(' + colList[colIndex] + ')').attr('rowspan', endIndex - startIndex + 1); // 隐藏被合并的单元格 for (var i = startIndex; i <= endIndex; i++) { $('#' + tableID + ' tr:eq(' + i + ')').find('td:eq(' + colList[colIndex] + ')').hide(); } } // 更新开始合并的行索引和前一个单元格的内容 startIndex = rowIndex; endIndex = rowIndex; preContent = content; } }); } }
The above code will traverse the specified columns in the table, find the same cells and merge them. Among them, tableID is the id of the table, and colList is the index list of columns that need to be merged.
Step 3: Call the function to merge rows
We can call the mergeCells function to merge table rows after the page is loaded.
For example, add the following code to the page:
<body> <table id="myTable"> <tr> <th>姓名</th> <th>学科</th> <th>成绩</th> </tr> <tr> <td>张三</td> <td>数学</td> <td>90</td> </tr> <tr> <td>李四</td> <td>数学</td> <td>80</td> </tr> <tr> <td>张三</td> <td>语文</td> <td>85</td> </tr> <tr> <td>李四</td> <td>语文</td> <td>95</td> </tr> </table> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script> $(function() { mergeCells('myTable', [1]); }); </script> </body>
In this way, the table rows can be merged.
Summary:
This article introduces the use of jQuery to merge table rows. By writing functions to find adjacent cells, merge and hide them, you can easily achieve the display effect of the table.
Of course, not only merging rows, we can also learn from similar ideas to implement other complex table operations.
The above is the detailed content of jquery implements table row merging. For more information, please follow other related articles on the PHP Chinese website!

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'sgoalsin2024focusonrefinementandoptimization,notnewfeatures.1)Enhanceperformanceandefficiencythroughoptimizedrendering.2)Improveaccessibilitywithrefinedattributesandelements.3)Addresssecurityconcerns,particularlyXSS,withwiderCSPadoption.4)Ensur

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

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

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

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

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 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.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

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

Hot Article

Hot Tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Dreamweaver CS6
Visual web development tools

WebStorm Mac version
Useful JavaScript development tools

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

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),
