2

我有以下 HTML,并希望以隐藏前两个<li>实例为目标。我正在努力解决<li>这个列表内部的问题,因为我在页面上有多个相同类的其他列表,但只想定位这个。

因此,我希望能够嵌套针对内部<li>的jQuery语句<ul class="ProductList"><div class="Blockcontent"><div class="Featured">

<div class="Featured" id="#Featured">
   <div class="BlockContent">
      <ul class="ProductList">
         <li>product here</li>       <--- hide
         <li>product here</li>       <--- hide  
         <li>product here</li>
         <li>product here</li>
      </ul>
   </div>
</div>

这是我目前的尝试:

$('.Featured').find('ul:li(2)').hide();

如何修改它以仅隐藏前两个<li>元素?

4

3 回答 3

4

jQuery 的slice()功能将允许您针对给定选择器定位特定范围的元素。例如,要隐藏<li>示例中的前两个 s,您需要执行以下操作:

$('#Featured .BlockContent ul.ProductList li').slice(0, 1).hide()
于 2013-07-21T23:26:00.490 回答
0

$('.Featured').find('ul:li(2)').addClass("hide"); /// 其中 .hide 只定义了“显示:无”。

于 2013-07-21T23:24:36.613 回答
0

几乎接近

$('.Featured').find('ul:li(2)').hide();

你应该eq用来定位元素..

$('.Featured ul').find('li:eq(0), li:eq(1)').hide();

您还可以利用使用lt

$('.Featured ul').find('li:lt(2)').hide();
于 2013-07-21T23:27:23.913 回答