我试过了一个自定义的getElementById()方法来从HTML页面中检索DOM元素。这是定义。自定义javascript document.getElementById()方法?
document.customGetElById = function(passedId){
var nodeFound = null;
recursive = function(nodes)
{
for(var i =0 ; i< nodes.length; i++)
{
if(nodes[i].nodeType == 1) //element nodes
{
//console.log(nodes[i].id); //only element nodes have id's
if(nodes[i].id == passedId)
{
//console.log(nodes[i]);
nodeFound = nodes[i];
return;
}
if(nodes[i].childNodes)
{
//console.log('there are child nodes inside it');
recursive(nodes[i].childNodes);
}
}
}
}
recursive(document.body.childNodes);
return nodeFound;
};
这是一个正确的方法吗?这对性能有好处吗? 重写本机getElementById()方法无关紧要。原生函数是如何编写的?有人可以帮我吗? 在此先感谢。
分离你的代码和文本部分 – polin
无论如何,本机的问题是什么? – Joseph
头上的元素也有ids。 – Musa