minor
This commit is contained in:
parent
c8b560d1f4
commit
5f340d0545
7 changed files with 312 additions and 306 deletions
|
@ -31,9 +31,9 @@ The DOM represents HTML as a tree structure of tags. Here's how it looks:
|
|||
<div class="domtree"></div>
|
||||
|
||||
<script>
|
||||
let node = {"name":"HTML","nodeType":1,"children":[{"name":"HEAD","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"\n "},{"name":"TITLE","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"About elks"}]},{"name":"#text","nodeType":3,"content":"\n "}]},{"name":"#text","nodeType":3,"content":"\n "},{"name":"BODY","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"\n The truth about elks."}]}]}
|
||||
let node1 = {"name":"HTML","nodeType":1,"children":[{"name":"HEAD","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"\n "},{"name":"TITLE","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"About elks"}]},{"name":"#text","nodeType":3,"content":"\n "}]},{"name":"#text","nodeType":3,"content":"\n "},{"name":"BODY","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"\n The truth about elks."}]}]}
|
||||
|
||||
drawHtmlTree(node, 'div.domtree', 690, 320);
|
||||
drawHtmlTree(node1, 'div.domtree', 690, 320);
|
||||
</script>
|
||||
|
||||
```online
|
||||
|
@ -69,9 +69,9 @@ Here are no space-only text nodes:
|
|||
<div class="domtree"></div>
|
||||
|
||||
<script>
|
||||
let node = {"name":"HTML","nodeType":1,"children":[{"name":"HEAD","nodeType":1,"children":[{"name":"TITLE","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"About elks"}]}]},{"name":"BODY","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"The truth about elks."}]}]}
|
||||
let node2 = {"name":"HTML","nodeType":1,"children":[{"name":"HEAD","nodeType":1,"children":[{"name":"TITLE","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"About elks"}]}]},{"name":"BODY","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"The truth about elks."}]}]}
|
||||
|
||||
drawHtmlTree(node, 'div.domtree', 690, 210);
|
||||
drawHtmlTree(node2, 'div.domtree', 690, 210);
|
||||
</script>
|
||||
|
||||
```smart header="Edge spaces and in-between empty text are usually hidden in tools"
|
||||
|
@ -95,9 +95,9 @@ As an example, if the HTML file is a single word `"Hello"`, the browser will wra
|
|||
<div class="domtree"></div>
|
||||
|
||||
<script>
|
||||
let node = {"name":"HTML","nodeType":1,"children":[{"name":"HEAD","nodeType":1,"children":[]},{"name":"BODY","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"Hello"}]}]}
|
||||
let node3 = {"name":"HTML","nodeType":1,"children":[{"name":"HEAD","nodeType":1,"children":[]},{"name":"BODY","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"Hello"}]}]}
|
||||
|
||||
drawHtmlTree(node, 'div.domtree', 690, 150);
|
||||
drawHtmlTree(node3, 'div.domtree', 690, 150);
|
||||
</script>
|
||||
|
||||
While generating DOM, browser automatically processes errors in the document, closes tags and so on.
|
||||
|
@ -116,9 +116,9 @@ Such an "invalid" document:
|
|||
<div class="domtree"></div>
|
||||
|
||||
<script>
|
||||
let node = {"name":"HTML","nodeType":1,"children":[{"name":"HEAD","nodeType":1,"children":[]},{"name":"BODY","nodeType":1,"children":[{"name":"P","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"Hello"}]},{"name":"LI","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"Mom"}]},{"name":"LI","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"and"}]},{"name":"LI","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"Dad"}]}]}]}
|
||||
let node4 = {"name":"HTML","nodeType":1,"children":[{"name":"HEAD","nodeType":1,"children":[]},{"name":"BODY","nodeType":1,"children":[{"name":"P","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"Hello"}]},{"name":"LI","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"Mom"}]},{"name":"LI","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"and"}]},{"name":"LI","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"Dad"}]}]}]}
|
||||
|
||||
drawHtmlTree(node, 'div.domtree', 690, 360);
|
||||
drawHtmlTree(node4, 'div.domtree', 690, 360);
|
||||
</script>
|
||||
|
||||
````warn header="Tables always have `<tbody>`"
|
||||
|
@ -134,9 +134,9 @@ DOM-structure will be:
|
|||
<div class="domtree"></div>
|
||||
|
||||
<script>
|
||||
let node = {"name":"TABLE","nodeType":1,"children":[{"name":"TBODY","nodeType":1,"children":[{"name":"TR","nodeType":1,"children":[{"name":"TD","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"1"}]}]}]}]};
|
||||
let node5 = {"name":"TABLE","nodeType":1,"children":[{"name":"TBODY","nodeType":1,"children":[{"name":"TR","nodeType":1,"children":[{"name":"TD","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"1"}]}]}]}]};
|
||||
|
||||
drawHtmlTree(node, 'div.domtree', 600, 200);
|
||||
drawHtmlTree(node5, 'div.domtree', 600, 200);
|
||||
</script>
|
||||
|
||||
You see? The `<tbody>` has appeared out of nowhere. Should keep in mind while working with tables to evade surprises.
|
||||
|
@ -165,9 +165,9 @@ Let's add more tags and a comment to the page:
|
|||
<div class="domtree"></div>
|
||||
|
||||
<script>
|
||||
let node = {"name":"HTML","nodeType":1,"children":[{"name":"HEAD","nodeType":1,"children":[]},{"name":"BODY","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"\n The truth about elks.\n "},{"name":"OL","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"\n "},{"name":"LI","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"An elk is a smart"}]},{"name":"#text","nodeType":3,"content":"\n "},{"name":"#comment","nodeType":8,"content":"comment"},{"name":"#text","nodeType":3,"content":"\n "},{"name":"LI","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"...and cunning animal!"}]},{"name":"#text","nodeType":3,"content":"\n "}]},{"name":"#text","nodeType":3,"content":"\n \n"}]}]};
|
||||
let node6 = {"name":"HTML","nodeType":1,"children":[{"name":"HEAD","nodeType":1,"children":[]},{"name":"BODY","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"\n The truth about elks.\n "},{"name":"OL","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"\n "},{"name":"LI","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"An elk is a smart"}]},{"name":"#text","nodeType":3,"content":"\n "},{"name":"#comment","nodeType":8,"content":"comment"},{"name":"#text","nodeType":3,"content":"\n "},{"name":"LI","nodeType":1,"children":[{"name":"#text","nodeType":3,"content":"...and cunning animal!"}]},{"name":"#text","nodeType":3,"content":"\n "}]},{"name":"#text","nodeType":3,"content":"\n \n"}]}]};
|
||||
|
||||
drawHtmlTree(node, 'div.domtree', 690, 500);
|
||||
drawHtmlTree(node6, 'div.domtree', 690, 500);
|
||||
</script>
|
||||
|
||||
Here we see a new tree node type -- *comment node*, labeled as `#comment`.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue