我不知道为什么这个EJS每个循环都在尝试几个不同的概念约束后打印一个href tel:多次。 我一次都无法打印此电话号码!
此循环语句是 info.person 的父循环的子循环,用于读取列出的所有电话号码。 子循环必须作为每个函数加载(据我所知(,所以我试图将其限制为仅第一个数字。
注意:这也很有趣,因为 SVG 手机项目只加载一次。 但是 href 作为同一 IF 语句的一部分多次加载!! 我几乎觉得这是偷偷摸摸的谷歌跟踪和我使用Trisquel的Abrowser之间的冲突。(请参阅:谷歌跟踪(。
此代码为手机打印一个 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。 这是成功打印出来的内容,并且,为了澄清,只有一个 href=tel:在整个页面中,这里多次出现。
所以我尝试将子循环迭代器从 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>
行为在 Brave 浏览器中保持不变。 请注意 IF 语句内的一个用于手机的 SVG。 并且电话号码在电子邮件SVG之后再次打印!
注意#2:注意:这是针对从Datamade的MyRep项目分叉出来的项目,该项目非常巧妙地使用EJS从公民信息项目(免费(中提取数据。
没关系,我发现了这个问题,有点尴尬。 我吃了晚饭,终于注意到所有重要的结束标签
EJS 在尝试找到结束标记而不会崩溃方面做得很好,这超出了 IF 语句的边界!
<a href='tel:<%= phone %>'><%= phone %>***</a>***</div>