【问题标题】:<div> tags get outside of <table> tag<div> 标签在 <table> 标签之外
【发布时间】:2016-07-19 14:07:03
【问题描述】:

我一直在尝试做的是将&lt;div&gt; 标记合并到&lt;table&gt; 中,部分替换&lt;tr&gt;

    <table ng-controller="TableController as tc">
        @foreach ($orders as $order)
        <tr class="1stPart">
            //<td>
        </tr>
        <!--From here, <div> is incorporated -->
        <div id="id{{$order->id}}" ng-show'isShow == {{$order->id}}'>
            <tr class="2ndPart">
                //<td>
            </tr>
        </div>
        @endforeach
    </table>

为了简单起见,我想让你想象这个表是基于@foreach ($orders as $order) 的结果动态生成的(我使用的是 Laravel 5),并且这个表由两部分组成 - 一个由&lt;tr&gt;组成,另一个在&lt;div&gt;内部。

最终,我将通过单击&lt;tr class="1stPart"&gt; 来创建隐藏/显示&lt;div&gt; 的功能。使用 AngularJS 的 ngShow 或 JQuery 的 hide()

然而,令我惊讶的是,div标签在运行时总是在表格之外,这只能从开发者工具中确认。

(即右键单击 -> 检查 -> 元素)

    <div id="id{{$order->id}}" ng-show'isShow == {{$order->id}}'>

        </div>
    <table ng-controller="TableController as tc">
        @foreach ($orders as $order)
        <tr class="1stPart">
            //<td>
        </tr>
        <!--From here, <div> is incorporated -->
            <tr class="2ndPart">
                //<td>
            </tr>
        @endforeach
    </table>

我不知道发生了什么。

如果您能提供任何建议,我将不胜感激。

【问题讨论】:

  • 我认为您必须将
    标签放入 。
  • &lt;div&gt; tag inside of a &lt;table&gt;, partially replacing &lt;tr&gt; 你不能那样做。 div 不能替换 tr。您可以将 div 放在 td 中,但如果这确实是您想要的
  • 您不能将div 作为table 的直接子代
  • 问题是你没有正确理解 html 表格。 div 出现在表格之外,因为 div 不是 tabletr 的直接子代。但是您可以在td 中添加它。
  • 为什么不能在 tr 标签中使用 id 和 ng-show 而不是 div,div 不能是表的直接子表:

标签: javascript html css angularjs


【解决方案1】:

您不能包装表格元素(trtdth 或任何其他表格元素)。

如果你检查页面的来源,你会发现结构没有改变。

开发工具总是会在元素之外显示非法包装器。
开发工具不会显示关闭错误的元素(例如 &lt;form&gt; 没有 &lt;/form&gt;

【讨论】:

    【解决方案2】:

    问题:

    在开发人员工具中,您会在table 元素之外看到div,因为在HTML 结构中将&lt;div&gt; 直接放在&lt;table&gt; 内是无效的,这就是为什么在浏览器中您会看到@987654326 @ 在 &lt;table&gt; 之外呈现,因为它是无效的 HTML 代码。

    注意:

    所以当你处理表格时,你只需要知道,&lt;div&gt;&lt;span&gt; 等内容块不能直接放在&lt;table&gt;&lt;tr&gt; 标签内,但是您可以将它们放在 &lt;td&gt;&lt;th&gt; 元素中。

    参考:

    请查看&lt;table&gt; MDN Specification使用上下文部分中的允许的内容了解更多详情。

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签