-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdom-query-js.html
More file actions
99 lines (81 loc) · 3.49 KB
/
dom-query-js.html
File metadata and controls
99 lines (81 loc) · 3.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>DOM: Query and Modify</title>
</head>
<body>
<!-- --------- add buttons-->
<button id="chg-header-btn">Change Header</button>
<button id="chg-subheader-btn">Change Subheader</button>
<button id="chg-list-btn">Change List</button>
<button id="chg-paragraph-btn">Change Paragraph</button>
<h1 id="main-header">Hello World!</h1>
<ul>
<li data-dbid="1">Item 1</li>
<li data-dbid="2">Item 2</li>
<li data-dbid="3">Item 3</li>
<li data-dbid="4">Item 4</li>
<li data-dbid="5">Item 5</li>
</ul>
<h2 id="sub-header">Hello Again.</h2>
<p class="sub-paragraph">
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
aliquip ex ea commodo consequat. Duis aute irure dolor in
reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
culpa qui officia deserunt mollit anim id est laborum.
</p>
<script>
(function() {
"use strict";
// --------- select buttons from DOM
var chgHeaderBtn = document.getElementById("chg-header-btn");
var chgSubHeaderBtn = document.getElementById("chg-subheader-btn");
var chgListBtn = document.getElementById("chg-list-btn");
var chgParagraphBtn = document.getElementById("chg-paragraph-btn");
// --------- wrap code in listener functions
function changeHeader() {
// TODO: Uncomment next line and get the main header element by id
var mainHeader = document.getElementById('main-header');
// TODO: Set inner html of mainHeader to "JavaScript is Cool"
mainHeader.innerHTML = "JavaScript is Cool";
}
function changeSubHeader() {
// TODO: Uncomment the next line and get the sub header element by id
var subHeader = document.getElementById('sub-header');
// TODO: Set the text color of subHeader to blue
subHeader.style.color = "blue";
}
function changeList() {
// TODO: Uncomment the next line and get all list items
var listItems = document.getElementsByTagName('li');
// TODO: Set text color on every other list item to grey
// TODO: Set text color of li with dbid = 1 to blue
for (var i = 0; i < listItems.length; i += 1) {
if (listItems[i].getAttribute('data-dbid') === '1') {
listItems[i].style.color = "blue";
continue;
}
if (i % 2 !== 0) {
listItems[i].style.color = "grey";
}
}
}
function changeParagraph() {
// TODO: Uncomment the next line and get all elements with class name sub-paragraph
var subParagraphs = document.getElementsByClassName('sub-paragraph');
// TODO: Change the text in the first sub paragraph to "Mission Accomplished!"
subParagraphs[0].innerText = "Mission Accomplished!";
}
// --------- add event listeners
chgHeaderBtn.addEventListener('click', changeHeader);
chgSubHeaderBtn.addEventListener('click', changeSubHeader);
chgListBtn.addEventListener('click', changeList);
chgParagraphBtn.addEventListener('click', changeParagraph);
})();
</script>
</body>
</html>