在jquery中使用css澄清

时间:2013-08-20 18:23:48

标签: jquery css

下面的代码来自我一直关注的教程。我只想了解代码的某些部分。

function Arrow_Points() {
    var s = $('#container').find('.item');
    $.each(s, function (i, obj) {
        var posLeft = $(obj).css("left");

        if (posLeft == "0px") {
            html = "<span class='rightCorner'></span>";
            $(obj).prepend(html);
        } else {
            html = "<span class='leftCorner'></span>";
            $(obj).prepend(html);
        }
    });
}

1)函数i用于什么? $.each(s,function(i,obj){在声明 之后,它从未被使用过。

2)这是.item

的css
.item {
width: 408px;
float: left;
min-height:50px;
}

条件是if(posLeft == "0px")他/她是如何得出价值0px的? left浮动默认位置是0px

2 个答案:

答案 0 :(得分:0)

i迭代中的$.each是指您正在迭代的元素的索引。

具体而言,对于任何可枚举的s,在$.each()的每次迭代中,s[i]===obj

请参阅the official documentation of $.each

答案 1 :(得分:0)

CSS:

float使元素粘贴到其父容器元素的左侧。

因此,如果元素嵌套在body元素中,则应该可以预测它位于左侧角 BUT 必须显式定义css left才能返回值。

我怎么看不到.item和这个if条件之间的关系。

每个

至于它用于索引的i,当它未被使用时,有时会标记为_。如果要将每个对象作为obj处理,则需要声明它,因为它是function所采用的第二个参数,而javscript“无法”猜出你写obj时的意思没有它的对应物。 obj是可选的,因此如果您只传递index,它就会有效。