Jquery 从cookie中获取函数的参数

Jquery 从cookie中获取函数的参数,jquery,cookies,arguments,Jquery,Cookies,Arguments,我有这个函数将特定数量的div包装成一行 function rowCreation(a) { a = $.cookie("col-layout"); if(typeof(a)==="undefined") a = 3; if ($("div.gallery-item").parent().is("div.row")) { $('div.row').replaceWith(function () { return $('div.ga

我有这个函数将特定数量的div包装成一行

function rowCreation(a) {
    a = $.cookie("col-layout");
    if(typeof(a)==="undefined") a = 3;

    if ($("div.gallery-item").parent().is("div.row")) {
        $('div.row').replaceWith(function () {
            return $('div.gallery-item', this);
        });
    }
    var divs = $("section#gallery-wrapper div.gallery-item");
    for (var i = 0; i < divs.length; i += a) {
        divs.slice(i, i + a).wrapAll("<div class='row'></div>");
    }
}
函数行创建(a){
a=$.cookie(“列布局”);
如果(a的类型)=“未定义”)a=3;
如果($(“div.gallery-item”).parent()是(“div.row”)){
$('div.row').replaceWith(函数(){
返回$('div.gallery-item',本);
});
}
var divs=$(#图库包装div.gallery-item)部分);
对于(变量i=0;i

但似乎出了点问题,我不知道到底是什么。第一行是正确形成的,它包含
a
元素。但是,所有剩余的div都放在一行中,即使其中有多个div

我认为问题在于第一行:

a = $.cookie("col-layout");
函数
rowCreation
a
视为一个数字,但cookie将其作为字符串发出。所以,当你这么做的时候

for (var i = 0; i < divs.length; i += a) {
    divs.slice(i, i + a).wrapAll("<div class='row'></div>");
} 

我认为问题在于第一行:

a = $.cookie("col-layout");
函数
rowCreation
a
视为一个数字,但cookie将其作为字符串发出。所以,当你这么做的时候

for (var i = 0; i < divs.length; i += a) {
    divs.slice(i, i + a).wrapAll("<div class='row'></div>");
} 

你能在jsfiddle.net上对此进行修改吗?不行,因为根据我的经验,cookies在jsfiddle上不起作用。我将尝试一个测试用例thoughtry jsbin.com:)它们肯定有效:)@hungerpain请查看我的编辑。你能在jsfiddle.net上对此进行修改吗?不,因为根据我的经验,cookies在jsfiddle上不起作用。我将尝试一个测试用例thoughtry jsbin.com:)它们肯定有效:)@hungerpain查看我的编辑。啊,这很有意义。愚蠢的错误。谢谢!啊,这很有道理。愚蠢的错误。谢谢!