256180-4.html (1584B)
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>585-element-deep display: block</title> 6 <script> 7 // Any copyright is dedicated to the Public Domain. 8 // http://creativecommons.org/publicdomain/zero/1.0/ 9 10 function count() { 11 var depth = 0; 12 var deepest = 0; 13 var current = document; 14 var next = null; 15 outer: for (;;) { 16 if ((next = current.firstChild)) { 17 depth++; 18 if (depth > deepest) { 19 deepest = depth; 20 } 21 current = next; 22 continue; 23 } 24 for (;;) { 25 if ((next = current.nextSibling)) { 26 current = next; 27 break; 28 } 29 current = current.parentNode; 30 depth--; 31 if (current == document) { 32 break outer; 33 } 34 } 35 } 36 37 var h1 = document.getElementsByTagName("h1")[0]; 38 var p = document.createElement("p"); 39 var t = document.createTextNode("Actual depth (including text leaves): " + deepest); 40 p.appendChild(t); 41 h1.parentNode.insertBefore(p, h1.nextSibling); 42 } 43 44 function deep() { 45 var t = document.createTextNode("PASS"); 46 var div = document.createElement("div"); 47 div.appendChild(t); 48 for (var i = 0; i < 582; i++) { 49 var another = document.createElement("div"); 50 another.appendChild(div); 51 div = another; 52 } 53 document.body.appendChild(div); 54 count(); 55 } 56 57 window.addEventListener('DOMContentLoaded', deep, false); 58 </script> 59 </head> 60 <body> 61 <h1>585-element-deep display: block</h1> 62 </body> 63 </html>