我试图在html表中放置一个表数据的链接。当我在Chrome的元素查看器中查看它时,我得到以下结果。
<a href="/tasks/1/"></a>
<a href="/tasks/2/"></a>
<a href="/tasks/3/"></a>
<a href="/tasks/4/"></a>
<table>
...
关于这一点的有趣之处在于,当我在视图页面源代码中查看它时,它会正确地包裹在
中<input type="hidden" name="id" value="3"/>
<a href="/tasks/3/">
<td class="tableText">Make a web app</td>
</a>
我想不出有一个很好的理由为什么chrome会以两种不同的方式呈现它。在我的django模板中有什么我可能做错了吗?
8 <h1 id="title">Joe's Basic Task List</h1>
9 <table id="taskTable">
10 {% for t in taskList %}
11 <tr>
12 {%if t.completed == 1%}
13 <td><div class="btn active"><i class="fa fa-check"></i></div></t d>
14 {%else%}
15 <td><div class="btn"><i class="fa fa-check"></i></div></td>
16 {%endif%}
17 <input type="hidden" name="id" value="{{t.id}}"/>
18 <a href="{% url 'tasks:detail' t.id%}">
19 <td class="tableText">{{t.task}}</td>
20 </a>
21 </tr>
22 {% endfor %}
23 </table>
答案 0 :(得分:1)
每MDN个TR
只能包含TD
或TH
元素的混合。
更改模板以补偿此问题。 (看起来你可能有拼写错误并且意味着完成了)
可能:
<h1 id="title">Joe's Basic Task List</h1>
<table id="taskTable">
{% for t in taskList %}
<tr>
{%if t.completed == 1%}
<td><div class="btn active"><i class="fa fa-check"></i></div></t d>
{%else%}
<td><div class="btn"><i class="fa fa-check"></i></div></td>
{%endif%}
<td class="tableText">
<a href="{% url 'tasks:detail' t.id%}">{{t.task}}</a>
<input type="hidden" name="id" value="{{t.id}}"/>
</td>
</tr>
{% endfor %}
</table>
还可以考虑将div更改为span或将样式直接放在td上。两者都显示为块元素(td是一个表格单元格显示,但其行为类似于带有样式的块级元素)。
将div嵌套在td中似乎是错误的,因为你并不真正需要它用于定位/样式目的。