试图获取元素值的Javascript不起作用



我的代码:

function $(selector){
var self = {
el:document.querySelector(selector),
html:()=> self.el.innerHTML,
on:(event, callback)=>{
document.addEventListener(event, callback)
},
hide:()=> {
self.el.style.display = 'none'
},
attr:(attr, value)=>{
if(value == null){
self.el.getAttribute(attr)
}else{
self.el.setAttribute(attr, value);
}
},
setHTML:(code)=>{
self.el.innerHTML = "";
self.el.innerHTML = code;
},
createChld:(childElement, id, clss, innerHTML)=>{
var el = document.createElement(childElement);
el.setAttribute('id', id);
el.setAttribute('class', clss);
el.innerHTML = innerHTML;
self.el.appendChild(el);
},
addClass:(clss)=>{
self.el.classList.add(clss)
},
addId:(id)=>{
self.el.id = id;
},
value:()=>{
self.el.value;
}
}
return self
}

当我尝试使用类似$('input'(.value((的东西时,它不起作用,只会导致未定义,我不知道为什么,但我认为这与self.el.value有关。谢谢

Arrow函数如果使用{}包装,则需要返回语句。用途:

value: ()=>{
return self.el.value;
}

或者,也不能使用花括号。

value: ()=>self.el.value;

我遇到了一个熟悉的问题,在我的案例中,我在HTML对象之前链接了脚本。检查自己也

最新更新