Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对HTML表中的每个元素应用IF条件_Javascript_Html Table - Fatal编程技术网

Javascript 对HTML表中的每个元素应用IF条件

Javascript 对HTML表中的每个元素应用IF条件,javascript,html-table,Javascript,Html Table,我的问题是: 我想用html中表的类“signalement”在所有td元素中用“Aucun”来更改0,但这样做有一些困难 <table class="commentairesTableau"> <tr> <td>N°</td> <td>Pseudo</td> <td>Message</td>

我的问题是:

我想用html中表的类“signalement”在所有td元素中用“Aucun”来更改0,但这样做有一些困难

<table class="commentairesTableau">
        <tr>
            <td>N°</td>
            <td>Pseudo</td>
            <td>Message</td>
            <td>Date</td>
            <td>Signalement</td>
            <td>Validé</td>
            <td>Actions</td>
        </tr>
        <?php
        foreach ($comments as $comment) {
        ?>
            <tr>
                <td><?= htmlspecialchars($comment->getId()); ?></td>
                <td><?= htmlspecialchars($comment->getPseudo()); ?></td>
                <td><?= substr(htmlspecialchars($comment->getContent()), 0, 150); ?></td>
                <td>Créé le : <?= htmlspecialchars($comment->getCreatedAt()); ?></td>
                <td id="signalement"><?= htmlspecialchars($comment->signalement()); ?></td>
                <td id="validation"><?= htmlspecialchars($comment->signalement()); ?></td>
                <td>
                    <?php
                    if ($comment->signalement()) {
                    ?>
                        <a class="btn btn-primary" href="index.php?route=unflagComment&commentId=<?= $comment->getId(); ?>">Désignaler le commentaire</a>
                        <p><a class="btn btn-primary" href="index.php?route=deleteComment&commentId=<?= $comment->getId(); ?>">Supprimer le commentaire</a></p>
                    <?php
                    } else {
                    ?>
                        <p><a class="btn btn-primary" href="index.php?route=deleteComment&commentId=<?= $comment->getId(); ?>">Supprimer le commentaire</a></p>
                    <?php
                    }
                    ?>
                </td>
            </tr>
        <?php
        }
        ?>
    </table>

if (document.getElementById("signalement").innerHTML === "0") {
    document.getElementById("signalement").innerHTML = "Aucun";
} 

N°
伪
消息
日期
信号
有效的
行动
克雷勒:

if(document.getElementById(“signalement”).innerHTML==“0”){ document.getElementById(“信号”).innerHTML=“Aucun”; }
“0”来自我的sql数据库中的一个布尔集合,此更改仅出现在多行上的第一个td行:


如果有人能告诉我哪里是我的错误,我可以如何修复它将是可怕的

首先,您可以对多个元素使用相同的id

除此之外,您提供的代码可能只选择所有所需的元素,但只对该类中第一个出现的元素起作用,这就是为什么您必须遍历每个出现的元素并进行检查的原因

我更喜欢使用
innerText
而不是
innerHTML
。即使它们都会产生相同的输出,但它们都有自己的目的,对吗

以下是你要做的:

document.queryselectoral(“.signalement”).forEach(函数(项){
如果(item.innerText.trim()=“0”){
item.innerText=“Aucun”;
}
});

0
1.
0

您不能在页面中重复ID,它们的定义是唯一的。改为类,然后使用该类循环所有元素

document.querySelectorAll('.signalement').forEach(el=>{
如果(el.textContent.trim()='0'){
el.textContent='Aucun'
}
});

0
1.
0

为什么不使用php来实现呢?注意,元素ID的定义必须是唯一的。使用类来重复元素我已经用类尝试过了,但它根本不起作用,这个项目是供学校使用的,我有具体的说明,无法在我的php中修复它,这就是为什么我在这里发帖的原因。实际上,我的javascript很差,我有点迷路了。谢谢你回复Pranav,但它实际上不起作用,也许我必须更改代码中的一些内容?谢谢你的帮助,但问题现在已经通过一个非常相似的答案解决了,我只是看了答案之间的差异,它教会了我一些有趣的事情,我感谢你Pranav!