下面的代码来自我一直关注的教程。我只想了解代码的某些部分。
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
.item {
width: 408px;
float: left;
min-height:50px;
}
条件是if(posLeft == "0px")
他/她是如何得出价值0px
的?
left
浮动默认位置是0px
?
答案 0 :(得分:0)
i
迭代中的$.each
是指您正在迭代的元素的索引。
具体而言,对于任何可枚举的s
,在$.each()
的每次迭代中,s[i]===obj
答案 1 :(得分:0)
float
使元素粘贴到其父容器元素的左侧。
因此,如果元素嵌套在body元素中,则应该可以预测它位于左侧角 BUT 必须显式定义css left
才能返回值。
我怎么看不到.item
和这个if条件之间的关系。
至于它用于索引的i
,当它未被使用时,有时会标记为_
。如果要将每个对象作为obj
处理,则需要声明它,因为它是function所采用的第二个参数,而javscript“无法”猜出你写obj
时的意思没有它的对应物。 obj
是可选的,因此如果您只传递index
,它就会有效。