有一个循环whithin循环
<?php while ($data = mysql_fetch_array($some))
{?>
<div class="pro">
<div class="right-block"> bla bla bla bla </div>
<ul class="color">
<?php while($bla = $bla)
{ ?>
<li><?php echo $bla; ?></li>
<?php } ?>
</ul>
</div>
<?php } ?>
此循环显示152种产品,每种产品至少有3到4种颜色
现在我想从每个产品中删除li
的{{1}}
如果我像ul
那样使用,则隐藏第一个$(".color li:first").css("display" , "none");
的{{1}},但我想从每个li
中删除第一个ul
我尝试使用li
和ul
等功能。我还创建了一个函数,并在next()
上方的第一个while循环中调用它。
没有任何作用。
你能帮我吗?
答案 0 :(得分:2)
使用css3选择器:
$('ul > li:first-child').remove();
请参阅this fiddle查看是否有效。
请注意,jquery的伪选择器:first
将集合投射到其第一个项目,而css选择器选择所有节点作为其各自父节点的第一个子节点(实际上css3提供了:nth-child(an+b)
,其中a
和b
是整数,因此在非负整数上迭代n
会生成所有子项中目标元素的索引。这对您来说不是必需的目前的任务,但在未来的某个发展阶段可能会派上用场。)
答案 1 :(得分:1)
你可以这样删除:
$('div.pro').each(function(){
$(this).find('ul.colors').find('li:first').remove();
});
答案 2 :(得分:1)
您只需使用first-child
选择器(名称中的线索)即可匹配任何/所有jQuery搜索的第一个子项:)
e.g。
$('ul.color li:first-child').remove();
这基本上说:&#34;找到所有ul
元素和类#34;颜色&#34;,然后找到任何li
个后代,但只匹配li
当它是其父母的第一个孩子 &#34;
:first
说&#34;无论我之前匹配的是什么,无论多少匹配都返回第一个元素&#34;。
答案 3 :(得分:0)
有很多方法,比如eq,nth-child selectors
$('.colors li').eq(0).remove();
或
$('.colors li:nth-child(1)').remove();
答案 4 :(得分:-1)
你可以试试这个:
$(".color").find("li:first").remove();