我的代码工作正常,但我想简化:
<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条件。有可能吗?
答案 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 */
}