我有一些生成<canvas>元素的代碼,我正在嘗試將其從 jQuery 更新為現代香草 JS。
根據互聯網上的大多數檔案,包括StackOverflow 上的這個問題,我試圖用它element.innerHTML來替換 jQuery 的html()方法。
然而,這種使用element.innerHTML失敗了,而 jQueryhtml()有效:
// Fails
// element.innerHTML = qrCodeCanvas.outerHTML;
// Works
$(element).html(qrCodeCanvas);
看到這個JSFiddle
我怎樣才能.html()用香草 JS 替換?
uj5u.com熱心網友回復:
jQuery.html()函式除了通過.innerHTML. 在這種情況下,您已經有了一個 DOM 元素 ( the <canvas>),所以.innerHTML沒有意義。jQuery 代碼檢測到您傳遞了一個 DOM 元素(而不是作為字串的 HTML 文本),因此它會為您將它附加到 DOM。
使用.outerHTML會將您的<canvas>背部變成一個字串,但您不希望這樣,因為其他代碼已經繪制到畫布上;獲取 HTML 將丟失它。
.innerHTML在這種情況下,相當于瀏覽器 API 的是.appendChild().
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/533629.html
標籤:javascript查询
下一篇:如何從陣列中獲取值串列的型別?
