JSFiddle - React, Tailwind, and code Playground

HTML

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>

<body>
<ul>
    <script id="result-template" type="text/x-handlebars-template">
    {{#each this}}
        <li><a href="{{xxxID}}">{{xxxName}}</a></li>
    {{/each}}
    </script>
</ul>
<script src="http://cloud.github.com/downloads/wycats/handlebars.js/handlebars-1.0.0.beta.6.js"></script>
</body>
</html>

JavaScript

var dbo = openDatabase('xxx','1.0','myDatabase', 1048576);
var DropTableDeferred = new $.Deferred();
var CreateTableDeferred = new $.Deferred();
var InsertDeferred = new $.Deferred();
var SelectDeferred = new $.Deferred();
dbo.transaction(function(myTrans) {
    myTrans.executeSql(
        'drop table myTable;'
        ,[]
        ,DropTableDeferred.resolve()
    );
});
DropTableDeferred.done(function() {
    dbo.transaction(function(myTrans) {
        myTrans.executeSql(
            'CREATE TABLE IF NOT EXISTS myTable' 
            + '(xxxID Integer NOT NULL PRIMARY KEY'
            + ',xxxName Varchar(128)'
            + ');'
            ,[]
            ,CreateTableDeferred.resolve()
        );
    });
});
CreateTableDeferred.done(function() {
    dbo.transaction(function(myTrans) {
        myTrans.executeSql("INSERT INTO myTable(xxxID,xxxName) VALUES(1,'A')");
        myTrans.executeSql("INSERT INTO myTable(xxxID,xxxName) VALUES(2,'B')");
        myTrans.executeSql(
            "INSERT INTO myTable(xxxID,xxxName) VALUES(3,'C')",
            [],
            InsertDeferred.resolve()
        );
    });
});

InsertDeferred.done(function() {
    dbo.transaction(function(myTrans) {
        myTrans.executeSql(
            'SELECT * FROM myTable',
            [], 
            function(tx, result) {
                SelectDeferred.resolve(result);
            }
        );
    });
});

SelectDeferred.done(function(result) {
    var X = $('#result-template').html();
    var template = Handlebars.compile(X);
    var data = [];

    for(var i=0;i < result.rows.length; i++) {
        data.push(result.rows.item(i));
    }
    $('ul').append(template(data));
});