<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <div id="div0"> <ul> <li id="li0"></li> <li id="li1"> <ul id="ul0"> <li id="li6"></li> <li></li> <li id="li7"></li> <li id="li8"></li> <li></li> </ul> </li> <li id="li2"></li> <li id="li3"> <div id="div4"> <span id="span0"></span> </div> </li> <li id="li4"> <a href="#" id="a0"></a> </li> </ul> </div> <div id="div1"> <table> <tr> <td></td> <td id="td0"></td> <td></td> <td id="td1"></td> </tr> <tr> <td id="td2"></td> <td ></td> <td></td> <td id="td3"></td> </tr> <tr> <td></td> <td id="td4"></td> <td></td> <td id="td5"></td> </tr> <tr> <td id="td6"></td> <td ></td> <td></td> <td id="td7"></td> </tr> </table> </div> <div id="div2"> <input id="texts" type="text"> </div> <div id="div3"> <div id="div7"> <div> <div id="div8"> <p> <a href="#" id="a1"></a> </p> </div> </div> </div> </div> <script> // 递归函数 /* * 递归函数即自调用函数,在函数体内部直接或间接地自己调用自己,即函数的嵌套调用是函数本身。 * * */ var obj={}; function getElementId(elem) { if(elem.id){ obj[elem.id]=elem } for(var i=0;i<elem.children.length;i++){ getElementId(elem.children[i]) } } getElementId(document.body); console.log(obj); obj.texts.value=10;// = obj[texts].value=10 obj["div7"].textContent="100"; var obj1={a:{c:{h:{x:2},s:1},d:{i:{y:3},z:5},k:6},b:{e:{m:{l:7},o:9},f:{n:{p:10},q:12},r:15}}; var obj2={}; function getObjectValue(obj1) { for(var pro in obj1){ if(typeof (obj1[pro])!=="object"){ obj2[pro]=obj1[pro] }else { getObjectValue(obj1[pro]) } } } getObjectValue(obj1); console.log(obj2) </script> </body> </html>
因篇幅问题不能全部显示,请点此查看更多更全内容