การเปิดเผยข้อมูล: ฉันเป็นผู้ดูแล BOB
มีห้องสมุดจาวาสคริปต์ที่ทำให้กระบวนการนี้ง่ายขึ้นมากเรียกว่าบ๊อบ
สำหรับตัวอย่างเฉพาะของคุณ:
<div><img src="the url" />the name</div>
สิ่งนี้สามารถสร้างขึ้นด้วย BOB โดยใช้รหัสต่อไปนี้
new BOB("div").insert("img",{"src":"the url"}).up().content("the name").toString()
//=> "<div><img src="the url" />the name</div>"
หรือด้วยไวยากรณ์ที่สั้นกว่า
new BOB("div").i("img",{"src":"the url"}).up().co("the name").s()
//=> "<div><img src="the url" />the name</div>"
ไลบรารีนี้มีประสิทธิภาพมากและสามารถใช้เพื่อสร้างโครงสร้างที่ซับซ้อนมากด้วยการแทรกข้อมูล (คล้ายกับ d3) เช่น:
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 ไม่สนับสนุนการแทรกข้อมูลลงใน DOM นี่คือ todolist ในตอนนี้คุณสามารถใช้เอาต์พุตร่วมกับ JS ปกติหรือ jQuery และวางไว้ที่ใดก็ได้ที่คุณต้องการ
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());
ฉันสร้างห้องสมุดนี้เพราะฉันไม่พอใจกับทางเลือกอื่น ๆ เช่น jquery และ d3 รหัสซับซ้อนมากและอ่านยาก การทำงานกับ BOB อยู่ในความคิดของฉันซึ่งเห็นได้ชัดว่ามีความลำเอียงน่าพอใจกว่ามาก
BOB มีอยู่ในBowerดังนั้นคุณสามารถเรียกใช้งานbower install BOB
ได้