Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Django链接在for循环中不工作_Javascript_Html_Django - Fatal编程技术网

Javascript Django链接在for循环中不工作

Javascript Django链接在for循环中不工作,javascript,html,django,Javascript,Html,Django,我试图在html表格中的表格数据周围放置一个链接。当我在Chrome的元素查看器中查看它时,我得到了以下结果 <a href="/tasks/1/"></a> <a href="/tasks/2/"></a> <a href="/tasks/3/"></a> <a href="/tasks/4/"></a> <table> ... ... 有趣的是,当我在查看页面源代码中查看它时,它

我试图在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>
8乔的基本任务列表
9
10{任务列表%中的t为%
11
12{如果t.completed==1%}
13
14{%else%}
15
16{%endif%}
17
18
21
22{%endfor%}
23
每个a
TR
只能包含
TD
TH
元素的混合物

更改模板以补偿此问题。(此外,您可能有打字错误,这意味着t.completed)

可能:

<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>
Joe的基本任务列表
{t在任务列表%中的百分比}
{%t.completed==1%}
{%else%}
{%endif%}
{%endfor%}

还考虑改变DIV的跨度或直接将样式放在TD上。两者都显示为块元素(td是一种表格单元格显示,但其行为类似于具有样式的块级元素)


将div嵌套在td中似乎是错误的,因为您并不真正需要它来定位/设置样式

你把TD放在锚内,把输入放在TR内,以前的锚在TR内也是原始的。这是错误的-chrome正在尽力弄清楚你在做什么。你确定
完成的
不是打字错误吗?你是说
t.completed
?这是一个打字错误,但解决方案就是迈克所描述的。