我有一个奇怪的问题,在PHP中包围div的锚标签因为锚在div里面。这是代码:
$output .= '<a href="http://google.com">';
$maplist = implode(', ', array_values($rounds));
$output .= '<div class="maplist">' . $maplist . '</div>';
$output .= '</a>';
echo $output;
Html显示如下
<div class="maplist"><a href="http://google.com"></a>
<a title="cs_assault" href="link1">cs_assault</a>,
<a title="de_aztec" href="link2">de_aztec</a>
</div>
而不是
<a href="http://google.com">
<div class="maplist">
<a title="cs_assault" href="link1">cs_assault</a>,
<a title="de_aztec" href="link2">de_aztec</a>
</div></a>
奇怪的是,当我删除内爆函数时,它会输出它应该。
答案 0 :(得分:2)
嵌套锚标记在HTML 4中是非法的:http://www.w3.org/TR/html401/struct/links.html#h-12.2.2
任何互动内容都不能嵌套在HTML 5中:http://www.w3.org/html/wg/drafts/html/master/single-page.html#the-a-element 链接计为“交互”元素。
答案 1 :(得分:0)
您可以更改.output以包含div中的链接:
$output .= '<div class="maplist" onclick="location.href='http://google.com';">' . $maplist . '</div>';
这应该可以正常工作,除非你想避免使用javascript。