javascript - 根据字母添加类别

标签 javascript jquery html

我想向“td 字段”添加一个额外的类,当它只有字母“A”或“B”时。 现在,如果单词中包含 a 或 b 字母,它会添加“big-a”和“big-b”类。

$(".column-1").addClass(function() {
var text = $(this).text();
if (~text.indexOf("A")) {
    return "big-a";
} else if (~text.indexOf("B")) {
    return "big-b";
}

});

<div class="data">
<table>
    <tr class="row-1 odd" role="row">
        <td class="column-1">A</td>
    </tr>
    <tr class="row-2 odd" role="row">
        <td class="column-1">Adidas</td>
    </tr>
    <tr class="row-3 odd" role="row">
        <td class="column-1">Accoss</td>
    </tr>
    <tr class="row-4 odd" role="row">
        <td class="column-1">B</td>
    </tr>
    <tr class="row-5 odd" role="row">
        <td class="column-1">Blues</td>
    </tr>
    <tr class="row-6 odd" role="row">
        <td class="column-1">Business</td>
    </tr>        
</table>

JSfiddle 链接:https://jsfiddle.net/petersenhp/bwcehumc/6/

最佳答案

使用相等而不是.indexOf(),因为您正在寻找A,而不是任何包含 A.

$(".column-1").addClass(function() {
    var text = $(this).text();
    if (text === "A") {
        return "big-a";
    } else if (text === "B") {
        return "big-b";
    }
});
<小时/>

如果您重新编写 HTML,则无需任何 JS 即可完成此操作。

tr:first-child td {
  font-size: 20px;
}

.column-1 {
  font-size: 14px;
}
<div class="data">
  <table>
    <tbody>
      <tr class="row-1 odd" role="row">
        <td class="column-1">A</td>
      </tr>
      <tr class="row-2 odd" role="row">
        <td class="column-1">Adidas</td>
      </tr>
      <tr class="row-3 odd" role="row">
        <td class="column-1">Accoss</td>
      </tr>
    </tbody>
    <tbody>
      <tr class="row-4 odd" role="row">
        <td class="column-1">B</td>
      </tr>
      <tr class="row-5 odd" role="row">
        <td class="column-1">Blues</td>
      </tr>
      <tr class="row-6 odd" role="row">
        <td class="column-1">Business</td>
      </tr>
    </tbody>
    <tbody>
      <tr class="row-4 odd" role="row">
        <td class="column-1">C</td>
      </tr>
      <tr class="row-6 odd" role="row">
        <td class="column-1">Citrus</td>
      </tr>
    </tbody>
  </table>

关于javascript - 根据字母添加类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49050939/

相关文章:

javascript - 单击按钮时如何从其上方的文本框中获取文本

javascript - 使用 jquery 排除具有特定类的元素

javascript - 收听正在检查的 Bootstrap 复选框

javascript - 从现有数据源创建新的 Kendo UI 数据源

javascript - KendoDropDownList 选项数据项

javascript - 如何从数组获取链接以在youtube Iframe API中播放?

javascript - Fullpage.js - 在 'slides' 之间添加正常内容的部分

javascript - 如何将负 Y 轴域更改为正

php - 如何将此字符串与正则表达式匹配

jquery - 如果存在不同的 CSS 属性(颜色),则添加 CSS 属性(顶部)