Skip to main content

--description--

D3 has several methods that let you add and change elements in your document.

The select() method selects one element from the document. It takes an argument for the name of the element you want and returns an HTML node for the first element in the document that matches the name. Here's an example:

const anchor = d3.select("a");

The above example finds the first anchor tag on the page and saves an HTML node for it in the variable anchor. You can use the selection with other methods. The d3 part of the example is a reference to the D3 object, which is how you access D3 methods.

Two other useful methods are append() and text().

The append() method takes an argument for the element you want to add to the document. It appends an HTML node to a selected item, and returns a handle to that node.

The text() method either sets the text of the selected node, or gets the current text. To set the value, you pass a string as an argument inside the parentheses of the method.

Here's an example that selects an unordered list, appends a list item, and adds text:

d3.select("ul")
.append("li")
.text("Very important item");

D3 allows you to chain several methods together with periods to perform a number of actions in a row.

--instructions--

Use the select method to select the body tag in the document. Then append an h1 tag to it, and add the text Learning D3 into the h1 element.

--hints--

The body should have one h1 element.

assert($('body').children('h1').length == 1);

The h1 element should have the text Learning D3 in it.

assert($('h1').text() == 'Learning D3');

Your code should access the d3 object.

assert(code.match(/d3/g));

Your code should use the select method.

assert(code.match(/\.select/g));

Your code should use the append method.

assert(code.match(/\.append/g));

Your code should use the text method.

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>