Hello World Bookstore Example
The code below is a bare bones, standalone web page with the all CSS and JavaScript (including loading jQuery and dna.js) to demonstrate dna.js in action.
Each call to dna.clone()
creates a new element from the book
template and appends the element to the books
element.
Bookstore Code
<!doctype html>
<!-- - - - - - -->
<!-- Bookstore -->
<!-- - - - - - -->
<html>
<head>
<meta charset=utf-8>
<title>Bookstore</title>
<link rel=stylesheet href=https://cdn.jsdelivr.net/npm/dna.js@@@minorVersion/dna.css>
<style>
body { font-family: system-ui, sans-serif; margin: 30px; }
.books { width: 250px; }
.book { background-color: gold; padding: 10px; margin-bottom: 15px; }
.book h2 { font-size: 1.1rem; margin: 0px; }
</style>
</head>
<body>
<main>
<h1>Bookstore</h1>
<section class=books>
<div id=book class=dna-template>
<h2>~~title~~</h2>
Author: <b>~~author~~</b>
</div>
</section>
</main>
<script src=https://cdn.jsdelivr.net/npm/jquery@3.3/dist/jquery.min.js></script>
<script src=https://cdn.jsdelivr.net/npm/dna.js@@@minorVersion/dna.min.js></script>
<script>
const books = [
{ title: 'The DOM', author: 'Jan' },
{ title: 'Howdy HTML5', author: 'Ed' },
{ title: 'Styling CSS3', author: 'Abby' }
];
dna.clone('book', books);
</script>
</body>
</html>
Bookstore Web Page
Bookstore on jsFiddle
Experiment with the code at:
Questions and comments
@@include('website/templates/comments.html')