Offenlegung: Ich bin der Betreuer von BOB.
Es gibt eine Javascript-Bibliothek namens BOB , die diesen Prozess erheblich vereinfacht .
Für Ihr spezielles Beispiel:
<div><img src="the url" />the name</div>
Dies kann mit BOB durch den folgenden Code generiert werden.
new BOB("div").insert("img",{"src":"the url"}).up().content("the name").toString()
//=> "<div><img src="the url" />the name</div>"
Oder mit der kürzeren Syntax
new BOB("div").i("img",{"src":"the url"}).up().co("the name").s()
//=> "<div><img src="the url" />the name</div>"
Diese Bibliothek ist sehr leistungsfähig und kann verwendet werden, um sehr komplexe Strukturen mit Dateneinfügung (ähnlich wie d3) zu erstellen, z.
data = [1,2,3,4,5,6,7]
new BOB("div").i("ul#count").do(data).i("li.number").co(BOB.d).up().up().a("a",{"href": "www.google.com"}).s()
//=> "<div><ul id="count"><li class="number">1</li><li class="number">2</li><li class="number">3</li><li class="number">4</li><li class="number">5</li><li class="number">6</li><li class="number">7</li></ul></div><a href="www.google.com"></a>"
BOB unterstützt derzeit nicht das Injizieren der Daten in das DOM. Dies ist auf der todolist. Im Moment können Sie die Ausgabe einfach zusammen mit normalem JS oder jQuery verwenden und an einer beliebigen Stelle ablegen.
document.getElementById("parent").innerHTML = new BOB("div").insert("img",{"src":"the url"}).up().content("the name").s();
//Or jquery:
$("#parent").append(new BOB("div").insert("img",{"src":"the url"}).up().content("the name").s());
Ich habe diese Bibliothek erstellt, weil ich mit keiner der Alternativen wie jquery und d3 zufrieden war. Der Code ist sehr kompliziert und schwer zu lesen. Die Arbeit mit BOB ist meiner Meinung nach, was offensichtlich voreingenommen ist, viel angenehmer.
BOB ist auf Bower verfügbar , sodass Sie es durch Ausführen erhalten können bower install BOB
.