0
我试图写计数的行中的项目数的函数后追加格。然后,我想在多个项目之后插入一个div,以便在计算的项目下占据整行。如何计算行项目和
这里是我的功能至今。甚至不知道如果我在正确的轨道......请参考本CodePen更多信息:http://codepen.io/Auzy/pen/gmYBJy
var parentSelector = $('.container');
var childSelector = $('.box');
function countFirstRowItems(parentSelector, childSelector){
var count = 0, theTop = undefined;
$(parentSelector + " > " + childSelector).each(function(){
var thisTop = $(this).offset().top;
if(theTop === undefined){
theTop = thisTop;
}
if(thisTop != theTop){
return false;
}
count++;
});
return count;
}
console.log(countFirstRowItems());
你想要的行中的最后一个项目之后插入DIV? – Patrick
到底什么是你的HTML结构,你想要计算什么?难道这些div的一个专区内,或者这是一个表
你想在'.box'元素之后添加'div'吗?例如,如果数量是3,那么你需要:'.box - .box - .box - DIV - .box - .box - .box - DIV - .box ...'? –
回答
来源
2017-02-22 22:57:02
这并没有解决
div
的插入,但它确实解决了什么问题与正确的代码现在。这些行:
去给你拿一个jQuery包裹设置匹配的元素。他们不是为选择有效的,所以当你再尝试这样做:
的代码崩溃,因为你不使用字符串在这里,你正在使用的对象。
相反,只需要直接传递值作为字符串的函数。
另外,如果您正在尝试获取找到的元素数量,那么您会遇到
count
1
。最后,不要在
undefined
初始化变量,因为这是他们将在,如果你完全不初始化它们初始化什么。相反,将它们初始化为'null'并检查它们。来源
2017-02-22 22:31:47
而不是'$(p +“>”+ c)','$(p).children(c)'可能会更清晰。 – Barmar
@Barmar是的,但我留下了OP的语法来说明问题是什么。 –
你可以使用CSS为目标的最后一个孩子下了课应用伪。
Code Pen
来源
2017-02-22 22:42:43 Patrick
相关问题