Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit fba2545

Browse filesBrowse files
committed
commit v.1.0.60
1 parent 2bcaf7d commit fba2545
Copy full SHA for fba2545

File tree

Expand file treeCollapse file tree

3 files changed

+59
-7
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

3 files changed

+59
-7
lines changed
Open diff view settings
Collapse file
+33Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
let scanDom = require('../homework4/scanDom.js');
2+
3+
function consoleOutputElements() {
4+
5+
let tags = scanDom(document.documentElement);
6+
let tag, classes, textNodes;
7+
8+
for(let i = 0; i<tags.length; i++){
9+
switch (i){
10+
case 0:
11+
tag = tags[i];
12+
break;
13+
case 1:
14+
classes = tags[i];
15+
break;
16+
case 2:
17+
textNodes = tags[i];
18+
break;
19+
}
20+
}
21+
22+
tag.forEach( (value, key) => {
23+
console.log(`Тегов ${key}: ${value}`);
24+
});
25+
classes.forEach( (value, key) => {
26+
console.log(`Классов ${key}: ${value}`);
27+
});
28+
textNodes.forEach( (value, key) => {
29+
console.log(`Текстовых узлов: ${value}`);
30+
});
31+
}
32+
33+
module.exports = consoleOutputElements;
Collapse file

‎#5_DOM/homework4/scanDom.js‎

Copy file name to clipboardExpand all lines: #5_DOM/homework4/scanDom.js
+24-2Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
/**
22
* Created by fallenSoulDev on 10.09.2016.
33
*/
4+
var resultMap = new Map;
45
var tagNameMap = new Map();
56
var classNameMap = new Map();
67
var textNodesMap = new Map();
@@ -10,7 +11,8 @@ function scanDom(Node) {
1011
for (var i = 0; i < Node.childNodes.length; i++) {
1112
var childNode = Node.childNodes[i];
1213
var tag = childNode.tagName;
13-
// var className = childNode.className;
14+
var nodeName = childNode.nodeName;
15+
var className = childNode.className;
1416
if (childNode.nodeType === 1) {
1517
if (!tagNameMap.has(tag)) {
1618
tagNameMap.set(tag, 1);
@@ -20,13 +22,33 @@ function scanDom(Node) {
2022
let count = parseInt(val) + 1;
2123
tagNameMap.set(tag, count);
2224
}
25+
if (!classNameMap.has(className)) {
26+
classNameMap.set(className, 1);
27+
}
28+
else {
29+
let val = classNameMap.get(className);
30+
let count = parseInt(val) + 1;
31+
classNameMap.set(className, count);
32+
}
2333
}
2434
if (childNode.nodeType !== 3) {
2535
scanDom(childNode);
2636
}
37+
else{
38+
if (!textNodesMap.has(nodeName)) {
39+
textNodesMap.set(nodeName, 1);
40+
}
41+
else {
42+
let val = textNodesMap.get(nodeName);
43+
let count = parseInt(val) + 1;
44+
textNodesMap.set(nodeName, count);
45+
}
46+
}
2747
}
48+
return [tagNameMap, classNameMap, textNodesMap];
2849
}
29-
console.log(tagNameMap);
50+
51+
// console.log(tagNameMap);
3052
// console.log(classNameMap);
3153

3254
module.exports = scanDom;
Collapse file

‎#5_DOM/js/main.js‎

Copy file name to clipboardExpand all lines: #5_DOM/js/main.js
+2-5Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ let prepend = require('../homework1/prependFunction.js');
55
let viewNodes = require('../_myTask/viewNodesFunction.js');
66
let noRecursionDeleteTextNodes = require('../homework2/noRecursionDeleteTextNodes.js');
77
let recursionDeleteTextNodes = require('../homework3/recursionDeleteTextNodes.js');
8-
let scanDom = require('../homework4/scanDom.js');
8+
let consoleOutputElements = require('../homework4/consoleOutputElements.js');
99
// let scanDom2 = require('../homework4/scanDom2.js');
1010

1111

@@ -31,7 +31,4 @@ prepend(container, newElement);
3131

3232
//сканирование дом дерева и подсчет узлов
3333

34-
scanDom(document.documentElement);
35-
36-
// scanDom2(document.body);
37-
34+
consoleOutputElements();

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.