我无法弄清楚为什么这个EJS每个循环在尝试了一些不同的概念约束之后都会多次打印 a href tel:。我无法将此电话号码打印一次!
此循环语句是info.person父循环的子循环,该循环读取列出的所有电话号码。子循环必须作为每个函数加载(据我所知),因此我试图将其限制为仅第一个数字。
注意:这也非常有趣,因为SVG电话项仅加载一次。但是,a href作为同一IF语句的一部分加载了多次!!!我几乎觉得这是偷偷摸摸的Google跟踪与我使用Trisquel的Abrowser之间的冲突。 (请参阅:Google Tracking)。
此代码显示一个用于手机的SVG和多个href tel:项目(请参见屏幕截图)
<div class="row">
<% if (info.phones){ %>
<% var j = 0; %>
<% $.each(info.phones, function(i, phone){ %>
<% if (j == 0){ %>
<div class="col-xs-1"><img class="svg_icon" src="/images/svg/phone.svg"/></div><div class="col-xs-7"><a href='tel:<%= phone %>'><%= phone %></div>
<% j = 1; %>
<% } %>
<% }) %>
<% } %>
</div>
我在这里必须使用图像,因为从检查器粘贴代码太困难了,但这是客户端ejs。 And here is what prints out successfully, and, just to clarify there is only one href=tel: in the whole page which here appears multiple times.
因此,我尝试将子循环迭代器从i更改为j,这是有意义的,因为父循环使用了i。但是结果。
<div class="row">
<% if (info.phones){ %>
<% $.each(info.phones, function(j, phone){ %>
<% if (j == 0){ %>
<div class="col-xs-1"><img class="svg_icon" src="/images/svg/phone.svg"/></div><div class="col-xs-7"><a href='tel:<%= phone %>'><%= phone %></div>
<% } %>
<% }) %>
<% } %>
</div>
注2:注:这是从Datamade的MyRep项目派生的项目,该项目非常熟练地使用EJS从“公民信息项目”中提取数据(免费)。
答案 0 :(得分:0)
没关系,我发现了问题,有些尴尬。 我共进晚餐,最后注意到
的所有重要结束标记EJS很好地尝试了找到结束标记而不会崩溃,而这超出了IF语句的范围!
<a href='tel:<%= phone %>'><%= phone %>***</a>***</div>