:第一个孩子和其他选择器似乎不起作用

时间:2013-07-24 23:58:27

标签: jquery jquery-selectors attributes css-selectors

让我们说这个HTML

<ul class="slider">
    <li><img id="img1" src="img/slide-1.jpg"/></li>
    <li><img src="img/slide-2.jpg"/></li>
    <li><img src="img/slide-3.jpg"/></li>
</ul>

在我的jquery中,我有

$(document).ready(function(){
    var max_count = $(".slider").children().length;
    for(var rn=1;rn<=max_count;rn++)
        {
        var eg = $(".slider li:first-child").attr('id');
        $("#output").append(eg);
        }
});

当我添加#img1而不是.slider li:first-child时,它工作正常,所以我对选择器做错了

2 个答案:

答案 0 :(得分:1)

li:first-child选择<li>个元素,这些元素是其父母的第一个孩子。

你可以这样做:

$(".slider li:first-child img").attr('id');

答案 1 :(得分:0)

这可以不使用像这样的for循环来完成:

$(document).ready(function(){
    $(".slider li").each(function(){
         $("#output").append($(this).children("img:first-child").attr("id"));
    });
});

这是一个工作小提琴:

http://jsfiddle.net/xzMmD/