我的代码工作正常,但我想简化:
<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条件.可能吗?
您可以使用条件运算符(?..:),也称为三元运算符:
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)