2011-09-12 108 views
2

我在頁面的Javascript代碼中創建了一個新的HTML5 Audio()對象。我想把這個音頻對象放在一個表格單元格中。如何將視頻/音頻對象添加到DOM?

typeof()告訴我,Audio()給了我一個對象,所以表單元格jquery對象上的.append()不起作用。

我想物體放入頁面,並顯示其控制,使用戶可以與它進行交互 - 是,可能沒有實際編寫

<audio src...></audio> 

HTML?

回答

3

你這樣做jQuery的方式,您可以使用HTML語法:

td.append("<audio>"); 

尖括號告訴jQuery來創建一個新元素。我不知道什麼方法jQuery使用幕後非jQuery的方法(無論是innerHTMLdoc.createElement()),但將是:

var audioElement = td.appendChild(document.createElement("audio")); 

要使用new Audio()語法,非jQuery代碼是相似的:

var audioElement = td.appendChild(new Audio); 

編輯:我只是測試,和jQuery似乎已經在Chrome與這個沒有問題:

td.append(new Audio()); 

這裏是一個jQuery演示:http://jsfiddle.net/gilly3/WRqyM/1

更新:IE9似乎不工作。 :-( IE9只是不顯示,除非audio有一個src。我更新了jsfiddle。

+0

我不希望它從HTML語法創建;我直接在javascript中創建它var audio = Audio ('http://localhost/test.ogg');(我不知道爲什麼標記在右括號之前添加分號......) –

+0

@Thomas - 我已經更新了我的答案,以包含使用'new Audio()'。我很好奇爲什麼它很重要,除了語法更好 - document.createElement(「audio」)和'Audio Audio()之間沒有功能上的區別。 – gilly3