我正在使用需要我编写以下内容的代码:
document.getElementById("id").innerHTML //+ whatever else
这个代码在我的javascript中使用了大约20-30次,只有ID属性发生了变化。有没有办法可以编写一个非常小的函数,用更简化的版本替换整行文本?就像是:
El("id")
我已经编写了2-3个不同的函数来尝试简单地使用它,但是它们都没有用。
var dom = {
elem = function (id){
return document.getElementById(id).innerHTML;
}
}
dom.elem(testid) //this has not worked
试试这个:
function El(id) {
return document.getElementById(id).innerHTML;
}
然后你可以使用:
El("elementId"); //will return document.getElementById("elementId").innerHTML
您宁愿只返回一个对象来使语句“document.getElementById”更短。然后你可以使用“obj(id)”并在任何地方使用它,不仅仅是innerHTML方法:
function obj(id){
return document.getElementById(id);
}
然后使用任何JavaScript方法,如:
obj("myElementId").innerHTML = "My new Text";
obj("myElementId").classList.add("mystyle");
obj("myElementId").click();
obj("myElementId").insertBefore();
哪里:
<div id="myElementId"></div>
其他方式...
function get(value){
return document.querySelector(value)
}
然后,像这样使用
get("#yourId").innerHTML = 'your text.'