这一段代码的作用是什么?

来源:4-4 样式的赋值

晖晖晖晖哥

2015-08-20 14:43

//////////

//分解参数 //

//////////

function access(elems, fn, key, value, chainable, emptyGet, raw) {

var i = 0,

len = elems.length;

//如果是一个对象,for in递归调用自己

if (jQuery.type(key) === "object") {

chainable = true;

for (i in key) {

access(elems, fn, i, key[i], true, emptyGet, raw);

}

} else if (value !== undefined) {

if (fn) {

fn(elems, key, value);

}

}

return elems

};



//////////

//设置样式 //

//////////

function style(elem, name, value, extra) {

var origName = jQuery.camelCase(name),

style = elem.style;

style[name] = value;

}


function css(name, value) {

return access(this, function(elem, name, value) {

return value !== undefined ?

style(elem, name, value) :

jQuery.css(elem, name);

}, name, value, arguments.length > 1);

}


写回答 关注

1回答

  • Zoe_0012
    2016-01-15 11:16:12

    access===>递归拆分{margin:40px,padding:40px},将其赋值到style相对应的key值里面

    style ===>取到elem的style值,然后赋值

    最后调用jQuery.css方法,重绘

    我是这样理解的,打断点可以跟踪

jQuery源码解析(DOM与核心模块)

由浅入深的剖析jQuery库的设计与实现,揭开框架背后的秘密

71439 学习 · 82 问题

查看课程

相似问题