2017-06-13 14 views
2

Node.JS(テンプレート作成)でejsを使用すると、この種のhtmlの星を生成する最もクリーンで最も効率的な方法があります。私はこのようないくつかの嫌な構文を使用しないようにしようとしているEJSで星を生成する最もクリーンな方法

   <div class="ratings"> 
        <p class="pull-right"> reviews</p> 
        <p> 
         <span class="glyphicon glyphicon-star"></span> 
         <span class="glyphicon glyphicon-star"></span> 
         <span class="glyphicon glyphicon-star"></span> 
         <span class="glyphicon glyphicon-star"></span> 
         <span class="glyphicon glyphicon-star-empty"></span> 
        </p> 
       </div> 

星のように見える

   <div class="ratings"> 
        <p class="pull-right"> reviews</p> 
        <p> 
          <% for (i = 0; i < 5; i++) { %> 
            <% if (i < (star_rating - 0.5)) { %> 
            <span class="glyphicon glyphicon-star"></span> 
            <% } else { %> 
            <span class="glyphicon glyphicon-star-empty"></span> 
            <% } %> 
          <% } %> 
        </p> 
       </div> 

答えて

0

何もずっとあなたがforループについて行うことができますが、それ内のコードternary/conditional演算子を使用して4行減らすことができます。

<div class="ratings"> 
    <p class="pull-right"> reviews</p> 
    <p> 
     <% for (var i = 0; i < 5; i++) { %> 
      <span class="glyphicon glyphicon-star<%= (i < star_rating - 0.5)? '' : '-empty'%>"></span> 
     <% } %> 
    </p> 
</div> 
関連する問題