html链接tr坏了不到位

时间:2011-11-26 18:36:26

标签: php

我已经尝试将我的洞tr标记设为可点击,因此我创建了此代码

        <?php foreach ($data['forums'] as $forum): ?>
            <?php #var_dump($forum); ?>
            <tr class="fix head">
                <th class="fix ltext"><strong><?php echo $forum['name'] ?></strong></th>
                <th class="fix rtext"><strong>Trending</strong></th>
                <th class="fix ltext"><strong>Latest Post</strong></th>
            </tr>

            <?php foreach ($forum['children'] as $child): ?>
            <?php #var_dump($child); ?>
                <tr class="fix">
                    <a href="#">
                        <td class="fix ltext cl">
                            <strong><?php echo $child['name']; ?></strong>
                            <p><?php echo $child['description_html']; ?></p>
                        </td>
                        <td class="fix rtext cr">1423</td>
                    </a>
                    <td class="fix ltext cr cl">
                        tanya jawab sesuatu by <a class="u" href="#">=awdwad</a>
                    </td>
                </tr>
            <?php endforeach ?>
        <?php endforeach ?>
视图上的

问题是

enter image description here

链接应位于突出显示部分的上方及其下方。怎么可能在我的身体标签下面很远的地方?

是否有人有任何可能产生此错误的经验?

3 个答案:

答案 0 :(得分:2)

好吧,您已将a标记放在不允许的位置,因此任何浏览器的答案都是合法的。您应该在每个a中添加td。也许,您也可以处理tr元素的点击事件,但这需要javascript。

答案 1 :(得分:1)

不允许将锚标记(a)作为表格行(tr)标记的子项,请参阅文档here

只允许表标题(th)和表数据(td)标记。

答案 2 :(得分:1)

问题是这是<a>无效的地方。 DTD将允许您尝试做的事情。

你的方法都错了。您必须使用Javascript才能使整个<tr>可点击。 AFAIK,单凭任何HTML变体都无法做到这一点。

尝试这样的事情:

<table>
  <tr id="my_clickable_tr">
    <td>Stuff</td>
    <td>Stuff</td>
    <td>Stuff</td>
  </tr>
  <!-- More table stuff -->
</table>
<script type="text/javascript">
  document.getElementById('my_clickable_tr').onclick = function () {
    window.location.href = 'http://wherever.you.want/to/send/the.clicker';
  };
</script>