【问题标题】:Add .png img to td elements in a dynamically created table in index.ejs将 .png img 添加到 index.ejs 中动态创建的表中的 td 元素
【发布时间】:2018-08-12 10:47:28
【问题描述】:

我刚刚在嵌入式 javascript 的帮助下创建了一个表格。在 messerbill 的帮助下,我想出了这个:

<table id="Table1">   
<tr>
    <th>Kickoff</th>
    <th>Status</th>
    <th>Country</th>
    <th>League</th>
    <th>HomeTeam</th>
    <th>AwayTeam</th>
</tr>
    <% for (var i = 0; i < result.length; i++) { %>
    <% var fileName = result[i].country + ".png" %>     

    <tr>
        <td><%= result[i].Kickoff %> </td>
        <td><%= result[i].statustype %> </td>
        <td><img src="images/flags/<%= fileName %>" alt="images/flags/NoFlag.png" style="width:25px;height:15px;"/> <%= result[i].country %></td>
        <td><%= result[i].league %> </td>
        <td><%= result[i].hteam %> </td>
        <td><%= result[i].ateam %> </td>
    </tr>

<% }; %>

这可行。但是,当找不到 png 文件时,我需要某种错误处理程序。 Messerbill 昨天建议做这样的事情:

<% var path = Directory.GetCurrentDirectory() + "\\" + flags + "\\" + fileName %>

但这会返回错误。关于如何让错误处理程序工作的任何建议。

当在搜索词上找不到 png 文件时,我有兴趣让它从 public/images/flags/noimg.png 返回。

任何帮助将不胜感激

更新:

作为一个选项,我想也许我会尝试在节点应用程序中搜索图标,如下所示:

  var fs = require('fs');
  var arrayLength = arr.length;
  for (var i = 0; i < arrayLength; i++) {
    var imgfile = arr[i].country
    if (fs.exists('../public/images/flags/' + imgfile + ".png") == true) {        
      //console.log('/public/images/flags/' + imgfile + ".png"); 
      console.log('fs exists');       
    } else {
      console.log('Not Found!');   
    }              
  }  

但在这里我遇到了一些错误,因为我无法找到单个图标。

弗雷德里克 :)

【问题讨论】:

    标签: javascript html node.js ejs


    【解决方案1】:

    只需将图像标签添加到您的循环中:

    <% for (var i = 0; i < result.length; i++) { %>
        <tr>
            <td><%= result[i].Kickoff %> </td>
            <td><%= result[i].statustype %> </td>
            <td><%= result[i].country %> <img src="/public/images/<%= result[i].country %>.png" alt="img" /> </td>
            <td><%= result[i].league %> </td>
            <td><%= result[i].hteam %> </td>
            <td><%= result[i].ateam %> </td>
        </tr>
    <% }; %>
    

    【讨论】:

    • 嗨,看起来很简单。我想我需要一些js代码。只是一个快速跟进的问题:图像位于 public/images/Flags 中。这怎么能被更新以指向那个方向。而且我还需要它在找不到img文件时指向默认图片,以及设置img宽度/高度
    • 我测试了你的建议,但看起来这为 img 添加了另一个 Col,我想我应该将它放在与 "Country" 相同的 col 中
    • 这是个好东西,当找不到 .img 时我需要一些错误处理。
    • @Frederik84 alt 值将在未找到图像时显示
    • 这背后确实没有逻辑,因为这取决于来源。如果文件存在,是否无法检查标志目录,如果不显示同一目录中的 noflag.png ?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-10
    • 2016-12-29
    • 2022-01-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多