php中循环内的类ID(html)
老师告诉我,我不能在php的循环中使用类的id,因为它将在多行中使用相同的id生成它,而id是唯一的。 这是真的吗?因为我试过了,而且成功了 谢谢 例如:php中循环内的类ID(html),php,html,Php,Html,老师告诉我,我不能在php的循环中使用类的id,因为它将在多行中使用相同的id生成它,而id是唯一的。 这是真的吗?因为我试过了,而且成功了 谢谢 例如: for ($j = 1; $j <= 9; ++$j) { if ($j % 2 == 0) { echo '<td class="pair" id="DiagP">' . $j .'</td>'; } } for($j=1;$j它的工作原理是PHP将毫无
for ($j = 1; $j <= 9; ++$j)
{
if ($j % 2 == 0)
{
echo '<td class="pair" id="DiagP">' . $j .'</td>';
}
}
for($j=1;$j它的工作原理是PHP将毫无问题地生成文件
根据HTML标准,id在页面中必须是唯一的,这是错误的。在这里,您创建的每个
元素都有相同的id,DiagP
,因此HTML将无效
参考:
id=名称[CS]
此属性为元素指定名称。此名称在文档中必须是唯一的
它将允许您生成具有相同id的多个标记,但是您只能访问其中一个:第一个
如果您不关心访问它们(通过javascript或类似的方式),那么您就没有问题(但在这种情况下,首先避免使用id会更容易,因为使用相同id的多个标记是一种不好的做法)。如果您确实需要根据它们的id访问它们,您将遇到问题
你可以自己测试:打开开发者控制台(SHIFT+CTRL+I
在chrome上),运行document.getElementById(“DiagP”).value
,你会发现你只得到了j
的第一个值。希望这能消除混淆
您需要为同一页使用唯一id。但您可以多次使用同一类名
若您多次使用相同的id,那个么您不能使用jquery、javascript等获取值、选择等。但当您需要获取相同的所有数据时,您可以使用类、选择等
您可以使用此代码。使用php变量创建动态唯一id,这样id就不会相同
<table>
<tr>
<?php
for ($j = 1; $j <= 9; ++$j) {
if ($j % 2 == 0) {
echo '<td class="pair" id="DiagP_' . $j . '">' . $j . '</td>';
}
} ?>
</tr>
</table>
您还可以添加动态类和固定类
<table>
<tr>
<?php
for ($j = 1; $j <= 9; ++$j) {
if ($j % 2 == 0) {
echo '<td class="pair test_'.$j.'" id="DiagP_' . $j . '">' . $j . '</td>';
}
} ?>
</tr>
</table>
也检查一下这个
您不能在循环中使用id。因为它会生成多个id。id是唯一的。而您的代码会生成多个id相同的td。这是错误的
代码将正常工作。没有任何错误。但是逻辑是错误的。当您在该id上使用javascript或jquery时,它将产生问题。如果不使用id,则可以。但是如果您想在任何地方使用id,则代码如下所示
for ($j = 1; $j <= 9; ++$j)
{
if ($j % 2 == 0)
{
echo '<td class="pair" id="DiagP'.$j.'">' . $j .'</td>';
}
}
for($j=1;$j据我所知,ID和类是不同的
在这个意义上,你不能说“类的ID”
它要么是一个IDID=“someId”
要么是一个CLASSCLASS=“someClass”
如果td
具有唯一的格式或其他内容,请尝试使id唯一:
关于id与类的进一步阅读
是的,如果您想使您的id唯一,只需将$j
附加到您的id值中即可。id=“DiagP$j”
请删除此无值问题,并阅读ids手册。如果您尝试使用代码,您将看到许多不同的td标记具有相同的id。您的代码在PHP端很好,但在html端则不好,在JS中使用id可能会遇到问题。使用类而不是id可能更好,特别是因为它会在当你尝试与这些元素交互时,一个好的答案总是会有一个解释,说明做了什么以及为什么这样做,不仅是为了OP,而且是为了未来的访问者。
for ($j = 1; $j <= 9; ++$j)
{
if ($j % 2 == 0)
{
echo '<td class="pair" id="DiagP_' . $j . '">' . $j .'</td>';
}
}
for ($j = 1; $j <= 9; ++$j)
{
if ($j % 2 == 0)
{
echo '<td class="pair" class="DiagP">' . $j .'</td>';
}
}