整体代码
获取所传过来的第一个参数
var tar = arguments[0] || {};
判断参数类型是否为对象
比如说这样_(“div”).attr({class:“id”,id:“idd”})
if (youke.typeof(tar) == “[object Object]”) {…}
if (youke.typeof(tar) == “[object Object]”) {
for循环为该对象设置属性
for (var key in tar) {
for (var i = 0; i < this.length; i++) {
this[i].setAttribute(key, tar[key]);
}
}
因为是设置,没有返回值,为了返回this目的为了链式操作
return this;
}
如果参数类型为字符串,那么就可能是获取属性的操作
比如这样_(“div”).attr(“class”)
if (youke.typeof(tar) == “[object String]”) {…}
if (youke.typeof(tar) == “[object String]”) {
将属性值添加进数组中返回
for (var i = 0; i < this.length; i++) {
Attr.push(this[i].getAttribute(tar))
}
}
如果传过来的参数类型以上两者都不是
抛出异常,该类型不支持
throw new Error(“parameter type error”);
返回
return Attr;