在文本变量中添加javascript条件

ton*_*nco 3 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>
Run Code Online (Sandbox Code Playgroud)

我希望条件内联这样的东西:

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

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

       // do something else
   }
Run Code Online (Sandbox Code Playgroud)

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

p.s*_*w.g 6

您可以使用条件运算符(?..:),也称为三元运算符:

var li = "<li" + (i == 0 ? " class='first'" : "") + ">" + i + "</li>";
Run Code Online (Sandbox Code Playgroud)

另请注意,这可能也可以使用带有:fist-child伪类的小CSS来完成,但旧版本的IE不支持它.请参阅此兼容性图表:

li:first-child {
    /* applies only to the first <li> element in a list */
}
Run Code Online (Sandbox Code Playgroud)