你能帮我解决我的网站上的这个错误吗?
错误:文档类型不允许元素"div"在这里;缺少"对象"、"小程序"、"映射"、"iframe"、"按钮"、"ins"、"del"开始标记之一
我找到了这部分代码:
<?php foreach ($this->categories as $cat){
echo '<span>'.$cat->category_name_rus.' ';
if(count($cat->products)>0){
echo '<div class="hover"><ul>';
foreach ($cat->products as $product) {
echo '<li><a href="/product/'.$product->id.'"><div class="left_act">'.$product->product_name_rus.'</div><div class="right_act"></div></a></li>';
}
echo '</ul><div></div></div>';
}
echo '</span>';
}?>
怎么了?
原因:
你关闭了两次div 而不打开div
所以请改变
echo '</ul><div></div></div>';
到
echo '</ul><div>';
此外<span>
标签是内联元素。 div
不用作a
标记中的子元素
从语义上讲,您不应该有一个包含块元素(如 divs
)的 span
标签。HTML 标准指示只有措辞元素应包含在范围中。
内容模型:措辞内容。
也来自:
措辞内容是文档的文本,以及 在段落内级别标记该文本。措辞的运行 内容表单段落。
请尝试此...
<?php foreach ($this->categories as $cat) : ?>
<div>
<span><?php echo $cat->category_name_rus.' '; ?></span>
<?php
if(count($cat->products)>0){
?>
<div class="hover">
<ul>
<?php
foreach ($cat->products as $product) {
?>
<li>
<a href="/product/".<?php echo $product->id;?> >
<div class="left_act">
<?php echo $product->product_name_rus; ?>
</div>
<div class="right_act">
</div>
</a>
</li>
<?php
}
?>
</ul>
</div>';
}
</div>
<?php endforeach ?>
希望它能帮助你。