我想在每个第5个循环中为我的HTML(列表项)添加一些简单的代码。
这是我的代码:
if (jsonData != null && jsonData.length > 0){
for (i=0;i<jsonData.length;i++){
if( jsonData[i].name.length > 15 )
cname = jsonData[i].name.substr(0,15);
else cname = jsonData[i].name ;
resHTML += '<li><a title="'+ jsonData[i].name +'" href="'+ jsonData[i].link +'"><img width="137" height="175" alt="'+ jsonData[i].name +'" src="'+ jsonData[i].img +'"></a><br><a href="'+ jsonData[i].link +'">'+ cname +'</a></li>' ;
}
}
因此,对于每个第5个循环,<li>
将变为<li style="margin-right:0">
有人能告诉我怎么做吗?
谢谢
答案 0 :(得分:6)
if ((i % 5) == 0)
// add your margin stuff
基本上,模数(i除以5的余数)每5次迭代为0
答案 1 :(得分:5)
您无需使用JavaScript处理此问题。
使用这个简单的CSS:
li + li {
margin-left: 20px;
}
这会将margin-left
应用于除第一个li
之外的所有内容,这与将margin-right
应用于除{0}}之外的所有li
相同。
答案 2 :(得分:1)
一种可能性是测试i % 5 == 0
这将在循环的每5次迭代中评估为真。
代码:
for(i = 0; i < n; i++)
{
if(!(i % 5))
{
//every fifth iteration!
}
}
答案 3 :(得分:0)
我会......设置for(i = 1; i <= jsonData.length; i++)
然后做:
if((i % 5) == 0) { // margin code }
答案 4 :(得分:0)
if((i%5)==0)
resHTML += "<li style=\"margin-right:0\">"
else
restHTML += "<li>"
restHTML += "<add all other stuff after li >"