jQuery & DOM Exercises
Nature Drawing 101: Draw a Tree!
- How many children does
headerhave?- just one: the
ulelement
- just one: the
- Name a direct child of the
pelement.- the
aelment
- the
- Name a direct parent of the
pelement- the
sectionelement
- the
- What is the parent of the
htmlelement?- Trick question! It turns out that
htmlbelongs to thedocumentobject, which lives inside your browser (not your html)!
- Trick question! It turns out that
CSS Selector Challenge
1.
- #fancy
- p#fancy
- div p#fancy
- .page #fancy
- .page p#fancy
- div.page p#fancy
2.
- div .small
- div a.small
- .small
- div.page a.small
3.
- p a
- div.page p a
- .page p a
- div p a
4.
- .mad-favs li
- ul.mad-favs li
- div.page ul.mad-favs li
- .page .mad-favs li
5.
- .sparkles
- p.sparkles
- div p.sparkles
- div.page p.sparkles
6.
- p a.small
- p .small
- div p .small
- div.page p a.small
jQuery Selector Challenge
Using jQuery:
var $el = $("#greeting");
var $el = $("div");
var $el = $("div#greeting");
// note that using the "$" in the variable name `$el` is just a naming convention, it indicates to you, dear reader, that the value of `$el` is a jquery `object` and has special jquery methods.
$("#greeting").text(); // get "Hello There"$("#greeting").text("Hola"); // set "Hola"$("body").prepend("<h1>A Spanish Greeting</h1>");$("body").append("<div>Que tal?</div>");$("div").addClass("blue");
Using Vanilla Javascript:
var el = document.querySelector("#greeting");
var el = document.querySelector("div");
var el = document.querySelector("div#greeting")
In the past you'd see alternative ways of grabbing DOM elements in javascript. There is no good reason to use these any more:
var el = document.getElementById("greeting");
var el = document.getElementByTagName("div");
var el = document.getElementByClassName("someclass")
document.querySelector("#greeting").textContent; // get "Hello There"document.querySelector("#greeting").textContent = "Hola"; // set "Hola"var bodyEl = document.querySelector("body"); bodyEl.innerHTML = "<h1>Hola</h1>" + bodyEl.innerHTML;var bodyEl = document.querySelector("body"); bodyEl.innerHTML = bodyEl.innerHTML + "<div>Que tal?</div>";
5.
``` javascript
// ahhhhhhhhhh
var divEls = document.querySelectorAll("div");
Array.prototype.slice.apply(divEls).forEach(function(el){
el.classList.add("blue");
})
```
Indiana Jones And the Temple of DOM
// title
$("h1#san-francisco_title").text("Indiana Jones and the Temple of DOM");
$("h1#san-francisco_title").append("<small>(Rated G)</small>")
// image swap
var $target = $("div.image-wrapper img").eq(0);
var new_image = "http://media2.giphy.com/media/MS0fQBmGGMaRy/giphy.gif";
$target.attr("src", new_image);