gpt4 book ai didi

基本切换功能的 jQuery 代码重构

转载 作者:行者123 更新时间:2023-12-01 05:00:59 25 4
gpt4 key购买 nike

我对 jQuery 非常陌生,这是我在 Stack Overflow 上发表的第一篇文章。

我正在编写一个切换脚本,如果单击多个(但不是全部)表格单元格,该脚本将切换其下方 tr 的可见性,并对其中一个单元格内的 div 执行更改类显示加号/减号图标。我希望简化我的脚本和 HTML,或者获得有关如何改进的一般指导。

jQuery如下:

$(function() {

/************************************************************/
// Show/Hide functionality

$('.showDetails', '#summaryTable').hide();

$('#summaryTable').on('click', '.toggleIt', function(e){

var $this = $(this).parents("tr");

$this.next().toggle(0, function() {
var rowExpand = $('.rowExpand', $this);
rowExpand.toggleClass('rowContract');
});
});

/************************************************************/

});

HTML 如下:

<table id="summaryTable">

<thead>
<tr>
...
</tr>
</thead>

<tbody>

<tr>
<td class="toggleIt"><div class="rowExpand">Expand/Contract details</div></td>
<td class="toggleIt">Content</td>
<td class="toggleIt">Content</td>
<td>*input field*</td>
<td class="toggleIt">Content</td>
<td class="toggleIt">Content</td>
<td>*Trash can icon*</td>
</tr>

<tr class="showDetails">
<td colspan="7" class="expand">

<div>
Content to be shown when toggled...
</div>

</td>
</tr>

<!-- Rinse and repeat -->

</tbody>

</table>

注意到单元格上所有那些可以单击并展开 tr 的toggleIt 类了吗?似乎我应该能够只在表格单元格上放置一个类,我不希望表格在单击时展开。 (输入字段和垃圾桶单元格。)

欢迎任何想法或建议。谢谢!

最佳答案

您可以使用 :not 选择器来做到这一点 (http://api.jquery.com/not-selector/)例如

$("td:not(.toggleDisabled)").each(function(){$(this).click(function(){$(this).toggle()})})

关于基本切换功能的 jQuery 代码重构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10127501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com