guide solution for Add Document Elements with D3 (#27095)
Added solution to the Add Document Elements with D3 stub
This commit is contained in:
committed by
The Coding Aviator
parent
aa96818850
commit
01de9ca6f6
@@ -2,25 +2,69 @@
|
|||||||
title: Add Document Elements with D3
|
title: Add Document Elements with D3
|
||||||
---
|
---
|
||||||
## Add Document Elements with D3
|
## Add Document Elements with D3
|
||||||
|
 Remember to use <a>**`Read-Search-Ask`**</a> if you get stuck. Try to pair program  and write your own code 
|
||||||
|
|
||||||
[This challenge](https://learn.freecodecamp.org/data-visualization/data-visualization-with-d3/add-document-elements-with-d3) introduces three core methods of **d3.js**:
|
### Problem Explanation:
|
||||||
* The `d3.select()` method
|
|
||||||
* The `d3.append()` method
|
|
||||||
* The `d3.text()` method
|
|
||||||
|
|
||||||
### The select() Method
|
This challenge can be completed by referring to the example in the description and modifying the parameters to those that are in the instructions.
|
||||||
The select method is crucial, because it tells the browser where to put any _d3.js_ code written afterwords. In _Javascript_, you would write `document.getElementById('#myId');`. In _d3.js_, you would write `d3.select('#myId')`.
|
|
||||||
|
|
||||||
### The append() method
|
#### Relevant Links
|
||||||
The append method is similar to _jsx_ in _react_, markup in _html_ or the `appendChild()` method in _Javascript_. For Example, writing `d3.select('#myId').append('p')` would be the same as writing `...<p></p>...`
|
|
||||||
|
|
||||||
### The text() method
|
From the official D3 Documentation:
|
||||||
The text method is the third step in applying content to a page using _d3.js_. We have selected an element in our html and added an element. Now, we need to fill the empty element. We do that like this: `d3.select('#myId').append('p').text('sup World!')`. This is akin to writing `...<p>'sup World!</p>...` in html.
|
* [Select](https://github.com/d3/d3-selection/blob/master/README.md#select)
|
||||||
|
* [Append](https://github.com/d3/d3-selection/blob/master/README.md#selection_append)
|
||||||
|
* [Text](https://github.com/d3/d3-selection/blob/master/README.md#selection_text)
|
||||||
|
|
||||||
### The Solution
|
##  Hint: 1
|
||||||
Add the folowing code to your editor:
|
|
||||||
```
|
* You will need to use `d3` to reference the D3 object and chain your methods
|
||||||
d3.select('body')
|
|
||||||
|
> _try to solve the problem now_
|
||||||
|
|
||||||
|
##  Hint: 2
|
||||||
|
|
||||||
|
* To chain methods together, simply start the next one directly after the previous one has ended. The example shows this on separate lines to improve readability. Make sure not to put a semicolon after any of the methods or the code will break.
|
||||||
|
|
||||||
|
> _try to solve the problem now_
|
||||||
|
|
||||||
|
##  Hint: 3
|
||||||
|
|
||||||
|
* The example shows exactly what is needed, all that needs to be changed are the parameters. E.g. replace 'ul' in the `select` method with 'body'.
|
||||||
|
|
||||||
|
> _try to solve the problem now_
|
||||||
|
|
||||||
|
## Spoiler Alert!
|
||||||
|
|
||||||
|
**Solution ahead!**
|
||||||
|
|
||||||
|
##  Basic Code Solution:
|
||||||
|
```javascript
|
||||||
|
<body>
|
||||||
|
<script>
|
||||||
|
|
||||||
|
d3.select('body')
|
||||||
.append('h1')
|
.append('h1')
|
||||||
.text('Learning D3');
|
.text('Learning D3');
|
||||||
|
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
# Code Explanation:
|
||||||
|
|
||||||
|
* `d3` targets the D3 object
|
||||||
|
* `.select('body')` uses the D3 `select` method to target the `body` HTML node
|
||||||
|
* `.append('h1')` uses the D3 `append` method to "append" or attach an `h1` element to the `body` element
|
||||||
|
* `.text('Learning D3')` uses the D3 `text` method to change the text of the `h1` element to 'Learning D3'
|
||||||
|
* The semicolon ends the method chain, but is not required
|
||||||
|
* Note that the methods are on separate lines for improved readability, as d3 method chains can get quite lengthy
|
||||||
|
|
||||||
|
|
||||||
|
##  NOTES FOR CONTRIBUTIONS:
|
||||||
|
|
||||||
|
*  **DO NOT** add solutions that are similar to any existing solutions. If you think it is **_similar but better_**, then try to merge (or replace) the existing similar solution.
|
||||||
|
* Add an explanation of your solution.
|
||||||
|
* Categorize the solution in one of the following categories — **Basic**, **Intermediate** and **Advanced**. 
|
||||||
|
* Please add your username only if you have added any **relevant main contents**. ( **_DO NOT_** _remove any existing usernames_)
|
||||||
|
|
||||||
|
> See  <a href='http://forum.freecodecamp.com/t/algorithm-article-template/14272' target='_blank' rel='nofollow'>**`Wiki Challenge Solution Template`**</a> for reference.
|
Reference in New Issue
Block a user