<div id="container">
<h1>Find the flag elements.</h1>
<p>There are three flags ("FLAG") in the content below. Find them and move their containing elements into the #bucket element.</p>
<div class="main">
<ul>
<li>One</li>
<li>FLAG #1</li>
<li>Three</li>
</ul>
<div id="articles">
<article class="new">
<h3>Article 1</h3>
<p>This is <a href="#">some</a> body content</p>
<p>This is some body content <a class="flag" href="#">FLAG #2</a>
</p>
</article>
<article class="new">
<h3>Article 2</h3>
<p>This is some body content</p>
</article>
<article>
<h3>Article 3</h3>
<p>This is some body content</p>
</article>
<div class="footer">
<div>
<div>
<div></div>
<div>
<div>FLAG #3</div>
<div></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="bucket">
<h2>Dropped Flags:</h2>
<!-- Where are my flags? -->
</div>
</div>
//If you don't want to move the source element then you got to clone it. By default it extracts and moves the original node
// Hunting flags in the Document
//
// Using only the built-in DOM methods
// Find the three elements that have the text "FLAG" inside them
// and move them (the element) into the div with id of #bucket
//
// Hint: You can use
// document.getElementById
// document.getElementsByTagName
// document.getElementsByClassName
// document.querySelector
// document.querySlectorAll
// and all the parent, child and sibling selectors
var bucketElem = document.getElementById("bucket");
var bucketUl = document.createElement("ul");
bucketElem.appendChild(bucketUl);
// 1) get FLAG 1
var flagElem = document.querySelector("#container div.main ul li:nth-child(2)");
var flagClone = flagElem.cloneNode(true);
console.log(flagClone);
bucketUl.appendChild(flagClone);
// 2) get FLAG 2
var flagElem = document.querySelector("a.flag");
console.log(flagElem);
bucketUl.appendChild(flagElem);
// 3) get FLAG 3
var flagElem = document.querySelector("div.footer div div div div:nth-child(1)");
console.log(flagElem);
bucketUl.appendChild(flagElem);
// bonus: write a function to crawl the entire document and search for the "FLAG" text, and do the job for you.
Please Whitelist JSFiddle in your content blocker.
Help keep JSFiddle free for always by one of two ways:
Whitelist JSFiddle in your content blocker (two clicks)
Go PRO and get access to additional PRO features →
Join the 4+ million users, and keep the JSFiddle dream alive.
Ad-free
All ads in the editor and listing pages are turned completely off.
Use pre-released features
You get to try and use features (like the Palette Color Generator) months before everyone else.
Fiddle collections
Sort and categorize your Fiddles into multiple collections.
Private collections and fiddles
You can make as many Private Fiddles, and Private Collections as you wish!
Console
Debug your Fiddle with a minimal built-in JavaScript console.