在文本变量中添加javascript条件

时间:2014-01-03 12:41:02

标签: javascript jquery

我的代码工作正常,但我想简化:

<script type="text/javascript">

   function RenderPager(items) {

      for (var i = 0; i < items.length; i++) {

         var li = "<li";

         if(i == 0){
            li += " class='first'";
         }

         li +=">" + i + "</li>";

         // do something else
      }
   }
</script>

我希望条件内联如下:

   for (var i = 0; i < items.length; i++) {

       var li = "<li" + if(i == 0){ li += " class='first'" }; + ">" + i + "</li>";

       // do something else
   }

但这不起作用,我尝试了一切,但我不知道如何在文本变量中结合javascript条件。有可能吗?

1 个答案:

答案 0 :(得分:6)

您可以使用conditional operator?..:),也称为三元运算符:

var li = "<li" + (i == 0 ? " class='first'" : "") + ">" + i + "</li>";

另请注意,这可能也可以使用带有:fist-child伪类的小CSS来完成,但旧版本的IE不支持它。见compatibility chart

li:first-child {
    /* applies only to the first <li> element in a list */
}