Skip to content

Commit c563d12

Browse files
committed
add novos exercicios sobre API DOM, elementos de travessia, e manipulação de elementos
1 parent aca7c0f commit c563d12

File tree

3 files changed

+128
-0
lines changed

3 files changed

+128
-0
lines changed

EXE_API_DOM/DOM-children.html

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<!DOCTYPE HTML>
2+
<html lang="en-us">
3+
<head>
4+
<meta charset="utf-8"/>
5+
<title>Exe Dom</title>
6+
</head>
7+
<body>
8+
9+
<div>Users:</div>
10+
<ul>
11+
<li>John</li>
12+
<li>Pete</li>
13+
</ul>
14+
15+
<script type="text/javascript">
16+
//Para cada um dos itens a seguir, forneça pelo menos uma maneira de acessá-los:
17+
18+
//O <div> nó DOM?
19+
let div = document.body.firstElementChild;
20+
console.log(div);
21+
22+
//O <ul>nó DOM?
23+
let ul = div.nextElementSibling;
24+
console.log(ul);
25+
26+
//A segunda <li> (com Pete)?
27+
let li = ul.lastElementChild;
28+
console.log(li);
29+
30+
</script>
31+
</body>
32+
</html>
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
<!DOCTYPE HTML>
2+
<html lang="en-us">
3+
<head>
4+
<meta charset="utf-8"/>
5+
<title>Exe Dom</title>
6+
<style>
7+
table {
8+
border-collapse: collapse;
9+
}
10+
11+
td {
12+
border: 1px solid black;
13+
padding: 3px 5px;
14+
}
15+
</style>
16+
</head>
17+
<body>
18+
19+
<table>
20+
<tr>
21+
<td>1:1</td>
22+
<td>2:1</td>
23+
<td>3:1</td>
24+
<td>4:1</td>
25+
<td>5:1</td>
26+
</tr>
27+
<tr>
28+
<td>1:2</td>
29+
<td>2:2</td>
30+
<td>3:2</td>
31+
<td>4:2</td>
32+
<td>5:2</td>
33+
</tr>
34+
<tr>
35+
<td>1:3</td>
36+
<td>2:3</td>
37+
<td>3:3</td>
38+
<td>4:3</td>
39+
<td>5:3</td>
40+
</tr>
41+
<tr>
42+
<td>1:4</td>
43+
<td>2:4</td>
44+
<td>3:4</td>
45+
<td>4:4</td>
46+
<td>5:4</td>
47+
</tr>
48+
<tr>
49+
<td>1:5</td>
50+
<td>2:5</td>
51+
<td>3:5</td>
52+
<td>4:5</td>
53+
<td>5:5</td>
54+
</tr>
55+
</table>
56+
57+
<script type="text/javascript">
58+
//Escreva o código para pintar todas as células da tabela diagonal em vermelho.
59+
//Você precisará obter todos os <td> diagonais da <table> e pintá-los usando o código:
60+
//td deve ser a referência para a célula da tabela
61+
//td.style.backgroundColor = 'red';
62+
63+
let table = document.body.firstElementChild;
64+
let listRows = table.querySelectorAll('tr');
65+
listRows = Array.from(listRows);
66+
let countRows = 0, tdColor, listTds;
67+
//primeira solução
68+
/*for (const tr of listRows) {
69+
tdColor = tr.querySelector(`td:nth-child(${countRows})`);
70+
tdColor.style.backgroundColor = 'red';
71+
countRows++;
72+
}*/
73+
//segunda solução
74+
for(const tr of listRows) {
75+
listTds = Array.from(tr.querySelectorAll('td'));
76+
tdColor = listTds[countRows];
77+
tdColor.style.backgroundColor = 'red';
78+
countRows += 1;
79+
}
80+
</script>
81+
</body>
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<!DOCTYPE HTML>
2+
<html lang="en-us">
3+
<head>
4+
<meta charset="utf-8"/>
5+
<title>Exe Dom</title>
6+
</head>
7+
<body>
8+
9+
<script type="text/javascript">
10+
//If elem– é um nó de elemento DOM arbitrário…
11+
//É verdade que elem.lastChild.nextSibling é sempre null? sim verdade
12+
//É verdade que elem.children[0].previousSibling é sempre null? não errado, porde have elementos anteriores ha ele
13+
</script>
14+
</body>
15+
</html>

0 commit comments

Comments
 (0)