jquery - 如何根据元素的内容添加类?

发布于 2024-09-26 03:17:00 字数 492 浏览 3 评论 0原文

假设您有一个像这样的表:

<table>
<tr>
<td>Group 1</td>
<td>some data here</td>
<td>Group 2</td>
</tr>
</table>

并且您希望它像这样:

<table>
<tr>
<td class="group1">Group 1</td>
<td>some data here</td>
<td class="group2">Group 2</td>
</tr>
</table>

下面 Nick Craver 和 Kevin 的解决方案都可以很好地工作。谢谢你们!我为什么要做这样的事?为提供研讨会的非营利组织设计时间表。

Suppose you have a table like this:

<table>
<tr>
<td>Group 1</td>
<td>some data here</td>
<td>Group 2</td>
</tr>
</table>

and you want it to be like this:

<table>
<tr>
<td class="group1">Group 1</td>
<td>some data here</td>
<td class="group2">Group 2</td>
</tr>
</table>

Both Nick Craver's and Kevin's solutions here below work nicely. Thanks guys! Why would I wnted to do such thing? To style a timetable for a non-profit organization that provides workshops.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

望喜 2024-10-03 03:17:00

我不确定为什么你要这样做(我会停下来诚实地看看,可能有更好的方法)。

不过,您可以使其通用。例如,您可以将函数传递给 .addClass() :

$("td:contains('Group ')").addClass(function() { 
  return this.innerHTML.replace("Group ", "group");
});

I'm not sure why you'd do this (I'd stop and look at that honestly, there's probbly a better way).

You can make it generic though. For example you could pass a function to .addClass(), for example:

$("td:contains('Group ')").addClass(function() { 
  return this.innerHTML.replace("Group ", "group");
});
假情假意假温柔 2024-10-03 03:17:00

如果您的内容仅包含“Group X”,您只需删除空格并将文本转换为较低的值即可。

例如:

$('td').each(function() {
     var className = $(this).html().replace(' ', '').toLowerCase();
     $(this).addClass(className);
});

If your content will only contain 'Group X' you could just remove the spaces and convert the text to lower.

For example:

$('td').each(function() {
     var className = $(this).html().replace(' ', '').toLowerCase();
     $(this).addClass(className);
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文