[英]How to add a class to a <li> generated by PHP using jQuery?
我有PHP生成的<li>
數。 我希望每一行僅顯示4個<li>
,而該行中的最后一個<li>
具有noMarginRight
類?
<ul>
<li>sample</li>
<li>sample</li>
<li>sample</li>
<li>sample here</li>
<li>sample</li>
<li>sample</li>
<li>sample</li>
<li>sample here</li>
<li>sample</li>
<li>sample</li>
<li>sample</li>
<li>sample here</li>
</ul>
希望這是有道理的。
您可以使用:nth-child
$('ul li').filter(':nth-child(4n), :last-child').addClass('noMarginRight')
演示: 小提琴
如果你確定總是數字,如果行是4的倍數那么
$('ul li:nth-child(4n)').addClass('noMarginRight')
演示: 小提琴
您可以通過PHP代碼進行管理,請嘗試這種方式
<ul>
<?php
$result = array("ads", "sdsa", "fsdfs", "fsdfsfsdf", "ffsfsf");
$i = 0;
foreach ($result as $k => $v) {
?>
<li <?php echo (++$i % 4 == 0) ? "class=\"noMarginRight\"" : "" ?>><?php echo $v; ?></li>
<?php } ?>
</ul>
您可以將相同的name屬性應用於每行的最后一個li,然后使用$(“基於名稱的li選擇器”).addClass(“ myClass yourClass”);
例如:$(“li [name ='last']”)。addClass(“noMarginRight”);
既然您提到過使用php來顯示輸出,這是使用php的一種方法,
$counter = 0;
while ($line = mysql_fetch_object($result))
{
if($counter %4 != 0)
{
echo "<li class='noMarginRight'>";
echo "your output";
echo '</li>';
}
else
{
echo "<li>";
echo "your output";
echo '</li>';
}
}
}
為了完整起見,這是一個純粹的CSS3方式來做你想要實現的目標:
ul { -moz-column-count:4; /* Firefox */ -webkit-column-count:4; /* Safari and Chrome */ column-count:4; -moz-column-gap:30px; /* Firefox */ -webkit-column-gap:30px; /* Safari and Chrome */ column-gap:30px; list-style: none; margin: 0; padding: 0; }
<ul> <li>sample</li> <li>sample</li> <li>sample</li> <li>sample here</li> <li>sample</li> <li>sample</li> <li>sample</li> <li>sample here</li> <li>sample</li> <li>sample</li> <li>sample</li> <li>sample here</li> </ul>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.