attr(node,name, value){//(节点,属性名,属性值) 重载Overload:根据不同参数调用不同函数
if(arguments.length === 3){ //如果传入的参数长度为3,就意味着要设置attribute
node.setAttribute(name, value);
}else if(arguments.length === 2){//
return node.getAttribute(name);//如果传入的参数长度为2,说明只是想获取attribute
}
}
text(node, string){ //适配
// node.innerText = string //ie
// node.textContent = string // firefox/Chrome
if(arguments.length === 2){
if('innerText' in node){
node.innerText = string;
}else{
node.textContent = string;
}
}else if(arguments.length === 1){
if('innerText' in node){
return node.innerText;
}else{
return node.textContent;
}
}
}
html(node, string){
if(arguments.length === 2){
node.innerHTML = string;
}else if(arguments.length === 1){
return node.innerHTML;
}
}
style(node, object){
for(let key in object){
node.style[key] = object[key]
}
}
//dom.style(test, {border:'1px solid red', color:'blue'})
style(node,name,value){
if(arguments.length === 3){
// dom.style(div, 'color', 'red')
node.style[name] = value;
}else if(arguments.length === 2){
if(typeof name === 'string'){
//dom.style(div,'color')
return node.style[name]
}else if(name instanceof Object){
//dom.style(div,{color:'red'})
const object = name
for(let key in object){
node.style[key] = object[key]
}
}
}
}
//dom.style(test, 'border', '1px solid black')
class:{
add(node, className){
node.classList.add(className)
},
remove(node, className){
node.classList.remove(className)
},
has(node, className){
return node.classList.contains(className)
}
}
//<style>.red{background:red;}</style>
//dom.class.add(test, 'red')
//dom.class.add(test, 'blue')
//dom.class.remove(test,'blue')
on(node, eventName, fn){
node.addEventListener(eventName, fn);
},
off(node, eventName, fn){
node.removeEventListener(eventName, fn);
}
//**
//const fn = ()=>{
// console.log("clicked");
// }
//dom.on(test, 'click',fn)
//dom.off(test, 'click', fn)
//