将.png img添加到index.ejs中动态创建的表中的td元素

问题描述 投票:0回答:1

我刚刚在嵌入式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文件时,我需要某种错误处理程序。梅塞尔比尔昨天建议做这样的事情:

<% 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个回答
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>
<% }; %>
© www.soinside.com 2019 - 2024. All rights reserved.