将td-jquery中的文本替换为条件

replace text with condition in td jquery

本文关键字:条件 文本替换 td-jquery      更新时间:2023-09-26

我需要替换表的td中的文本,但根据特定条件,我的表是用DB的数据动态生成的,因此行的生成没有限制。由于id的原因,目前它只适用于一行,但我已经尝试过使用getElementByClassName,但Google Chrome表示该函数不存在。

这是我的表代码和我当前的JS Jquery代码:

<table class="table" id="table_headers">
                <tr>
                    <th>Nombre</th>
                    <th>Correo</th>
                    <th>Curso inscrito</th>
                    <th style="text-align:center">Pagado</th>
                </tr>
                <?php 
                foreach($stmt->FetchAll() as $results) {
                    echo "<tr>";
                    echo '<td>' . $results['name'] . " " . $results['first_last_name'] . '</td>';
                    echo '<td>' . $results['user_email'] . '</td>';
                    echo '<td>' . $results['user_course'] . '</td>';
                    echo '<td id="user_pay">' . $results['user_pay'] . '</td>';
                    echo "</tr>";
                }
                ?>
            </table>
    <script>
    var pay = document.getElementById("user_pay").innerText;
    if (pay == "0" ) {
        console.log(pay);
        $('#user_pay').html('No');
    }else if(pay == "1"){
        $('#user_pay').html('Si');
    }
</script>

这里有一个jQuery方法。我们将每个元素都设为"user_pay"类。关于它的价值,我们编辑它的内容。

(user_pay应该是一个类,因为id必须是唯一的。所以在代码的PHP部分用class="user_pay"替换id="user_pay"(

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="table" id="table_headers">
                <tr>
                    <th>Nombre</th>
                    <th>Correo</th>
                    <th>Curso inscrito</th>
                    <th style="text-align:center">Pagado</th>
                </tr>
<tr><td>name first_last_name</td><td>user_email</td><td>user_course</td><td class="user_pay">0</td></tr>
<tr><td>name first_last_name</td><td>user_email</td><td>user_course</td><td class="user_pay">1</td></tr>
<tr><td>name first_last_name</td><td>user_email</td><td>user_course</td><td class="user_pay">2</td></tr>
            </table>
    <script>
$(".user_pay").each(function( index ) {
    if ($( this ).text()=="0") {
        $( this ).html("No");
    } else if($( this ).text()=="1") {
        $( this ).html("Si");
    }
});
        
</script>