首次問題提問者,對我來說很容易。我想我已經徹底瀏覽了Stack,以便不再問一個重複的問題。使用函數參數創建元素,Javascript
我有一個功能。
function createDivs(num) {
for(let inc = 0; inc < num; inc++) {
let div = document.createElement('div'),
tab_content = document.getElementsByClassName('tab-content');
div.className = 'classname';
div.id = `number-${inc}`;
div.innerHTML = 'did it work?';
tab_content.innerHTML = div;
}
}
凡HTML只是簡單地
<div class="tab-content">
<script>
createDivs(4);
</script>
</div>
我嘗試過其他方法,如
let tab_content = document.getElementsByClassName('tab-content');
tab_content.innerHTML = '<div class="classname" id=`number-${inc}`>did it work?</div>';
以及與''
""
和``那沒噸其他變化既不工作也不工作。
我也試過tab_content.appendChild(div);
,那也沒用。
實際上,這是我的實際代碼的降級,因爲我創建了大量需要它們的元素,但我甚至無法使這一點工作。如果我刪除for循環,它甚至不起作用。另外我也看到了這個post,所以爲什麼我嘗試了appendChild,但是這也沒有奏效。
tab_content是一個數組,不是單個元素; innerHTML接受一個字符串,而不是一個元素;幾個變量正在全局範圍內聲明 – Semicolon
'getElementsByClassName'返回一個nodeList,它沒有innerHTML屬性。您需要選擇從列表中的一個節點,或者遍歷每個節點,然後設置的innerHTML – mhodges