得到:第一个:最后用jQuery

时间:2012-03-10 14:47:40

标签: javascript jquery html css pseudo-element

我遇到了这个问题:

  

我试图做Twitter效果,所以当你点击它时,   检查它是:first还是:last,如果不是,请创建一个   {@ 1}}和margin-top就像Twitter的时间轴一样。一世   想点击任何一个“这里的一个短语”时创建这个效果。

     

主要问题是我的jQuery代码没有检测到margin-bottom和   :first。我已经尝试使用:last并且也做了同样的事情。

使用此HTML代码:

:first-child

使用这个jQuery代码,我可以修复它。谢谢你的帮助! (:

<div class="phrases-container">
    <div class="phrases-title">Titulo</div>
    <div class="phrases-list">
        <div class="phrases-item zooming">First child</div>
        <div class="phrases-item zooming">One phrase</div>
        <div class="phrases-item zooming">One phrase</div>
        <div class="phrases-item zooming">Last child</div>
    </div>
    <div class="phrases-load-more">
        <a class="link loadMore">Get more phrases!</a>
    </div>
</div>

4 个答案:

答案 0 :(得分:1)

我不太确定:first有什么问题,但是这个怎么样:

var $z = $('.zooming'),
    index = $z.index(this);

if (index == 0 || index == ($z.length-1)) {
    return false;
}

答案 1 :(得分:1)

$(document).on('click', '.zooming', function(){
    var L = $('.zooming').length-1;
    var I = $(this).index();
    if (I===0 || I==L) {
        return false;
    }else{
        var bradiust = $(this).css("borderTopLeftRadius");
        if (bradiust == '0px') {
            var thand = "show";
        }else{
            var thand = "hide";
        }
        alert(thand);
    }
});​

答案 2 :(得分:0)

不要被:first jquery选择器愚弄:

  

描述:选择第一个匹配的元素   :第一个伪类相当于:eq(0)

您必须使用:first-child选择器

答案 3 :(得分:0)

如何结合:

if ($(this).is(':first') || $(this).is(':last'))

但请注意: http://api.jquery.com/is/

  

从jQuery 1.7开始,带有位置选择器的选择器字符串   将选择器应用于文档,然后确定是否   当前jQuery集的第一个元素匹配任何一个   结果元素。所以对于上面显示的HTML,表达式如   $(“li:first”)。is(“li:last”)返回false。