2.5 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	id, title, challengeType, forumTopicId, dashedName
| id | title | challengeType | forumTopicId | dashedName | 
|---|---|---|---|---|
| 587d7fa6367417b2b2512bc2 | Adicionar elementos de documento com D3 | 6 | 301474 | add-document-elements-with-d3 | 
--description--
O D3 tem vários métodos que permitem adicionar e alterar elementos ao documento.
O método select() seleciona um elemento do documento. Ele recebe um argumento para o nome do elemento que você deseja e retorna um nó de HTML para o primeiro elemento do documento que corresponde ao nome. Exemplo:
const anchor = d3.select("a");
O exemplo acima encontra a primeira tag de âncora na página e salva um nó de HTML para ela na variável anchor. Você pode usar a seleção com outros métodos. A parte que diz d3 do exemplo é uma referência ao objeto do D3, que é a maneira de acessar os métodos do D3.
Dois outros métodos úteis são append() e text().
O método append() tem um argumento para o elemento que você deseja adicionar ao documento. Ele anexa um nó de HTML a um item selecionado e retorna um identificador para esse nó.
O método text() define o texto do nó selecionado ou obtém o texto atual. Para definir o valor, você passa uma string como um argumento dentro dos parênteses do método.
Aqui está um exemplo que seleciona uma lista não ordenada, associa um item de lista e adiciona texto:
d3.select("ul")
  .append("li")
  .text("Very important item");
O D3 permite que você encadeie vários métodos juntamente com períodos para realizar várias ações em sequência.
--instructions--
Use o método select para selecionar a tag body do documento. Em seguida, use o método append em uma tag h1 e adicione o texto Learning D3 no elemento h1.
--hints--
A tag body deve ter um elemento h1.
assert($('body').children('h1').length == 1);
O elemento h1 deve conter o texto Learning D3.
assert($('h1').text() == 'Learning D3');
O código deve acessar o objeto d3.
assert(code.match(/d3/g));
O código deve usar o método select.
assert(code.match(/\.select/g));
O código deve usar o método append.
assert(code.match(/\.append/g));
O código deve usar o método text.
assert(code.match(/\.text/g));
--seed--
--seed-contents--
<body>
  <script>
    // Add your code below this line
    // Add your code above this line
  </script>
</body>
--solutions--
<body>
  <script>
    d3.select("body")
      .append("h1")
      .text("Learning D3")
  </script>
</body>