다음은 브라우저 dom 구조를 통해 재귀하는 데 사용되는 기능입니다.Javascript : Eval() 및 객체 길이가 정의되지 않은 문제를 대체하십시오.
- 는 평가()
- I을 제거해야합니다 : - 아마 간단한 - 내가 (크롬) 작동시킬 수 없었던 것을 그것으로 문제
(function() { function displaydom (child, parent) { if (parent) {parent = parent+".";}; // if there is no parent then child is the parent var jsns = eval(parent+child); // Join parent + child and eval for (var i in jsns){ // loop through dom object's attributes if (typeof jsns[i] == "object") { // if attribute is an object then recurse through // display output here displaydom (String(i) /** next child **/, parent+child); }; }; }; displaydom ('self', ''); })();
은 몇 가지가 있습니다 for 루프를
for (var i=0, len = jsns.length; i < len; i++) {};
으로 변경하고 싶습니다. 속도가 빠르지 만 jsns '0'또는 'undefined'의 길이가 계속 유지됩니다.
피씨 - 브라우저를 충돌시키지 않으려면 코드를 그대로 실행하지 마십시오!
self = window (즉, dom 구조를 반복합니다.) 이 태그가 iframe에 있기 때문에 자기를 사용합니다. 또한 상위 'if'문은 첫 번째 빈 부모를 보완합니다. – EddyR