gpt4 book ai didi

jquery - 将类应用于元素 - JQuery

转载 作者:行者123 更新时间:2023-12-01 08:28:46 24 4
gpt4 key购买 nike

我正在开发一个包含大量表格的网页。 JQuery 脚本处理每一行并决定需要对其应用什么 CSS 样式。我正在使用此代码片段将类应用到表格单元格

$myElem.parents('td').eq(0).attr('class', 'requiredClass');

从功能上来说,它按预期工作。然而,在IE7.0中,运行这个需要16ms。考虑到页面上的行数,这加起来很快就至少需要半秒。

我怎样才能让它运行得更快?

最佳答案

根据您在问题中的评论,这应该是性能最好的

$Elem.parent('td').addClass('requiredClass');

这使用 parent() 而不是 parents() ,前者仅查看直接父节点,后者查看直到但不包括根节点的所有父节点。

<td>parent() 中很可能是多余的也是如此,因为它的作用是过滤掉那些不是 <td> 的父节点。元素。由于您一次处理每一行,我想您可以保证每种情况下的父级都是 <td>因此我也会删除该过滤器。于是就变成了

$Elem.parent().addClass('requiredClass');

如果您可以识别需要将特定类应用于 <td> 的行集,而不是一次处理每一行,那么速度可能会更快。有问题,然后发出一个选择器来添加该类。这可能是不可能的,这取决于正在执行的检查,但这只是一个想法。

编辑:

您说您需要在添加新类之前删除一个未知类,但不知道每种情况下的类名是什么。调用不带类名字符串参数的removeClass()将删除所有类。如果您不知道,Elements 可以定义多个类,每个类之间用空格分隔,例如 <td class="class1 class"> 。 jQuery 的 addClass() 命令将确保添加的每个新类名都以空格与其他类名分隔。所以,选择器现在可能看起来像

$Elem.parent().removeClass().addClass('requiredClass');

关于jquery - 将类应用于元素 - JQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1399893/

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