Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将javascript变量添加到html标记_Javascript_Html_Dom - Fatal编程技术网

如何将javascript变量添加到html标记

如何将javascript变量添加到html标记,javascript,html,dom,Javascript,Html,Dom,我有一个名为rendered的函数,它有两个参数:容器是HTML中的,items只是一个对象的student数组,它包含每个student的信息,并且具有“class”属性 我的想法是在字符串中创建一个标记,然后通过.innerHTML将其传递给HTML。问题是,我想创建一个相对于学生类的新来分隔每个类,但我不知道如何将object.class的值传递给标签。您能告诉我如何将JavaScript变量传递给js文件中的这个字符串吗 function render(container, items)

我有一个名为rendered的函数,它有两个参数:容器是HTML中的
,items只是一个对象的student数组,它包含每个student的信息,并且具有“class”属性

我的想法是在字符串中创建一个
标记,然后通过
.innerHTML
将其传递给HTML。问题是,我想创建一个相对于学生类的新
来分隔每个类,但我不知道如何将
object.class
的值传递给
标签。您能告诉我如何将JavaScript变量传递给js文件中的这个
字符串吗

function render(container, items) {

    var htmlItems = items.map(function (item) {
        return '<option id="std-option">' + item.name + '</option>';
    });

    htmlItems.unshift('<optgroup id="optgroup-class"></optgroup>'); //add optgroup to the first index of htmlItems

    var html = htmlItems.join(''); //join all the <stringArray> to just one html tag string
    container.innerHTML = html; //get that <stringArray> to .student-list-container select in html
}
函数渲染(容器、项目){
var htmlItems=items.map(函数(项){
返回“”+item.name+“”;
});
htmlItems.unshift(“”);//将optgroup添加到htmlItems的第一个索引中
var html=htmlItems.join(“”);//将所有的html标记连接到一个html标记字符串中
container.innerHTML=html;//将其发送到.student list容器,在html中选择
}
El método unshift()一个数组元素,y 这是一个很长的阵列

因此,您将在索引0处添加

// [ '<optgroup id="optgroup-class"></optgroup>', '<option id="std-option"> name1 </option>', '<option id="std-option"> name1 </option>' ]
/[''name1','name1']
El método unshift()一个数组元素,y 这是一个很长的阵列

因此,您将在索引0处添加

// [ '<optgroup id="optgroup-class"></optgroup>', '<option id="std-option"> name1 </option>', '<option id="std-option"> name1 </option>' ]
/[''name1','name1']
试试下面的方法

函数渲染(容器、项目){
让html='';
items.forEach(e=>{
html+=`;
e、 options.forEach(o=>{
html+=`${o.name}`;
});
html+=`;
});
container.innerHTML=html;
}
让列表=[{
名称:“瑞典汽车”,
选项:[{
名称:“沃尔沃”
},
{
名称:“萨博”
}
]
}, {
名称:“德国汽车”,
选项:[{
名称:“梅赛德斯”
},
{
名称:“奥迪”
}
]
}];
render(document.getElementById('my-select'),list)
试试下面的方法

函数渲染(容器、项目){
让html='';
items.forEach(e=>{
html+=`;
e、 options.forEach(o=>{
html+=`${o.name}`;
});
html+=`;
});
container.innerHTML=html;
}
让列表=[{
名称:“瑞典汽车”,
选项:[{
名称:“沃尔沃”
},
{
名称:“萨博”
}
]
}, {
名称:“德国汽车”,
选项:[{
名称:“梅赛德斯”
},
{
名称:“奥迪”
}
]
}];
render(document.getElementById('my-select'),list)

我真的很难理解您想要实现的目标,您是否可以重新表述一下?这是否有效
htmlItems.unshift(“”);htmlItems.push(“”)?你必须在optgroup元素中插入你的项目,但你必须先关闭它。我很难理解你想要实现什么,你能不能重新表述一下?这是否有效
htmlItems.unshift(“”);htmlItems.push(“”)?您必须将您的项目插入optgroup元素中,但必须先将其关闭。@KhaiPark.Nguyen请随时接受答案。接受答案可以帮助其他类似的人issues@KhaiPark.Nguyen请随意接受答案。接受答案可以帮助其他人解决类似问题