jquery - 更改 jQuery Laravel 中的 <tr> 颜色

标签 jquery laravel

我必须在 jQuery 中放置 IF 才能改变颜色?如果我注释逻辑 IF,数据会正常显示。

这是代码

$('.tbody-reply').empty();
        if(data != ""){
            data.forEach(element => {
                $('.tbody-reply').append( ""+
                    "<tr>" +
                        "<td>" + element.description + "</td>" +
                        "<td>" + element.created_at + "</td>" +
                    "</tr>");
                // if(element.idResponder == 'TE')
                //   $('#').css("background-color", "yellow");
            });
        }else{
            $('.tbody-reply').append( ""+
                "<tr>" +
                    "<td align='center' colspan='6'>No Data Found</td>" +
                "</tr>");
        }

最佳答案

您可以在 loop 函数中创建新的 td 时将 CSS 应用于行。我还清理了您创建td元素的方式。

if (response.length) {
  response.forEach(element => {
    let row = $('<tr>'); //create row
    if (element.idResponder == 'TE') { //check if TE
      row.append($('<td>').html(element.description));
      row.append($('<td>').html(element.created_at));
      row.css("background-color", "yellow"); //apply css
    } else {
      row.append($('<td>').html(element.description));
      row.append($('<td>').html(element.created_at));
    }
    table.append(row) //append all data
  });
} else {
  let row = $('<tr>');
  table.append(row)
  row.append($('<td align="center" colspan="6">').html('No Data Found'));
}

工作演示:

var response = [{
  "description": "Always Helping",
  "created_at": "03-02-2002",
  'idResponder': 'TE'
}, {
  "description": "Foo",
  "created_at": "03-02-2020",
  'idResponder': 'Foo'
}, {
  "description": "Ikra",
  "created_at": "03-02-2020",
  'idResponder': 'TE'
}]

let table = $('.tbody-reply')

if (response.length) {
  response.forEach(element => {
    let row = $('<tr>');
    if (element.idResponder == 'TE') {
      row.append($('<td>').html(element.description));
      row.append($('<td>').html(element.created_at));
      row.css("background-color", "yellow"); //apply css
    } else {
      row.append($('<td>').html(element.description));
      row.append($('<td>').html(element.created_at));
    }
    table.append(row) //append all data
  });
} else {
  let row = $('<tr>');
  table.append(row)
  row.append($('<td align="center" colspan="6">').html('No Data Found'));
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table class="table table-hover">
  <thead>
    <tr>
      <th>Name</th>
      <th>Created Date</th>
    </tr>
  </thead>
  <tbody id="tdata" class="tbody-reply">
  </tbody>
</table>

关于jquery - 更改 jQuery Laravel 中的 <tr> 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64115049/

相关文章:

javascript - 如何在执行下一行之前等待执行完成

laravel - "Casting"功能 ($casts) 仅在 Laravel 中使用 Eloquent 时有效

mysql - 如何以相反的顺序编写 Laravel 查询

php - 使用 Laravel 将两个模型合并为一个具有预加载关系的分页查询

mysql - 通过 Laravel 存储第 3 方数据库/API 凭证的安全方式

php - laravel Eloquent 多个左连接

javascript - 使用 bxslider 旋转动态内容和图像不起作用

javascript - 在 highchart 中格式化后,工具提示不会隐藏

javascript - Fancybox3 第二个链接启动图像周围的链接?

javascript - 改变 IFrame src 内容