使用函数参数、Javascript创建元素

使用函数参数、Javascript创建元素,javascript,jquery,html,dynamic,Javascript,Jquery,Html,Dynamic,第一次问问题的人,对我放松点。我想我已经把这堆东西看得一清二楚了,这样就不会再问一个重复的问题了 我有一个功能 function createDivs(num) { for(let inc = 0; inc < num; inc++) { let div = document.createElement('div'), tab_content = document.getElementsByClassName('tab-content');

第一次问问题的人,对我放松点。我想我已经把这堆东西看得一清二楚了,这样就不会再问一个重复的问题了

我有一个功能

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;
    }
}
函数createDivs(num){
对于(让inc=0;inc
其中HTML只是简单的

<div class="tab-content">
    <script>
       createDivs(4);
    </script>
</div>

createDivs(4);
我尝试过其他方法,比如

let tab_content = document.getElementsByClassName('tab-content');

tab_content.innerHTML = '<div class="classname" id=`number-${inc}`>did it work?</div>';
let tab_content=document.getElementsByClassName('tab-content');
tab_content.innerHTML='它工作了吗?';
以及其他的
'
'
和``变体,但这两种变体都不起作用

我还尝试了
tab_content.appendChild(div)这也不起作用


实际上,这是对我的实际代码的降级,因为我正在创建大量的元素,这些元素中需要一些东西,但我甚至不能让这部分工作。如果我删除for循环,它甚至不起作用。我也看到了这一点,因此我尝试了appendChild,但同样没有成功。

您的代码中有一些拼写错误。在循环中使用
i++
而不是
inc++
。不以数组形式访问选项卡内容,并使用
innerHtml
而不是
appendChild
。下面是固定代码


函数createDivs(num){
对于(让inc=0;inc
在我看来,您似乎不想设置innerHTML,而是想实际附加几个子节点。除此之外,您的代码(GetElementsByCassName)中还存在一些错误,返回一个类似数组的对象,而不仅仅是一个对象,因此您需要选择一个对象来添加div

另外,您在循环
inc
中将i变量命名为非i,因此它实际上不会增加循环。看看下面重写的代码,看看它是否符合您的要求

函数createDivs(num){
对于(让inc=0;inc

您的
for
循环不会增加其控制变量。换成

   for(let inc = 0; inc < num; inc++) {
   tab_content = document.getElementsByClassName('tab-content')[0];

tab_内容是一个数组,而不是一个元素;innerHTML接受字符串,而不是元素;在全局范围
GetElementsByCassName
中声明了多个变量,返回一个没有innerHTML属性的节点列表。您需要从该列表中选择一个节点,或者迭代每个节点,然后设置innerHTMLYeah,i++是一个打字错误,对此表示抱歉。^ _^“实际代码使用inc++我已经修复了它。虽然还没有尝试过您建议的内容,但我将返回给您!是的,i++是一个打字错误,对此表示抱歉。^ _;”实际代码使用inc++,我修复了它。我还没试过你的建议,所以我会给你回复的!