假设我们有一个名为'slide_down_div'的div,它包含两个ul(lists)。我想做以下选择:
-
$('#slide_down_div ul:eq(0)');
和第二个.. -
$('#slide_down_div ul:eq(1)');
我需要你的帮助
现在,在第二个语句中,我进一步想选择第一个和第五个 li(列表项),以便对它们应用一些样式......有办法吗?请指教。
此外,请告诉我是否可以将上述两个jquery语句合并为一个。
<ul>
<li><img src='images/WindowsLogo.png'/>Windows</li>
<li><img src='images/OfficeLogo.png'/>Office</li>
<li><img src='images/OfficeLogo.png'/>Xbox</li>
<li><img src='images/PhoneLogo.png'/>Windows Phone</li>
<li><img src='images/IELogo.png'/>Internet Explorer</li>
<li><img src='images/logo_skype.png'/>Skype</li>
</ul>
<ul>
<li>For Home</li>
<li>Security Essentials</li>
<li>Microsoft Update</li>
<li>PC Hardware</li>
<li>PC Gaming</li>
<li>For Work</li>
<li>Small & Medium Businesses</li>
<li>IT Specialist Locator</li>
<li>Enterprise</li>
<li>Server & Tools</li>
</ul>
var $first = $('#slide_down_div ul:first');
var $second = $('#slide_down_div ul:eq(1)');
$second.find('li:eq(0), li:eq(4)').foo()
var $both = $('#slide_down_div').find('ul:first, ul:eq(1)')
演示
:lt()
选择器:
var $both = $('#slide_down_div ul:lt(2)')
演示
获取前两个ul
中的前li
元素:
var first = $("#slide_down_div ul:eq(0) li:lt(2)");
获取第二个ul
中的第一个和第五个li
元素:
var second = $("li:eq(0), li:eq(4)", "#slide_down_div ul:eq(1)");
将两者连接到一个选择器
var both = first.add(second);
小提琴
您想为每个<ul/>
的第一个和最后一个<li/>
添加CSS类吗?
<div id="slide_down_div">
<ul class="test">
...
</ul>
<ul class="test">
...
</ul>
</div>
<script type="text/javascript">
$(document).ready(function () {
$('#slide_down_div').find('ul.test').each(function () {
$(this).find('li:eq(0), li:eq(4)').addClass('TestClass');
//Or
$(this).find('li:first, li:last').addClass('TestClass');
});
});
</script>