Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.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 动态创建DOM对象并给出类_Javascript_Css - Fatal编程技术网

Javascript 动态创建DOM对象并给出类

Javascript 动态创建DOM对象并给出类,javascript,css,Javascript,Css,我正在使用Javascript为下拉菜单动态创建选项元素,我想知道如何向它们添加一个类,以便使用CSS为它们设置样式 我有以下代码: for (var i=0;i<portfolio.length-1;i++) { portfolioSelect.options[portfolioSelect.options.length] = new Option(portfolio[i]); } for(var i=0;ifor(i=0;i您可以将类名分配给className

我正在使用Javascript为下拉菜单动态创建选项元素,我想知道如何向它们添加一个类,以便使用CSS为它们设置样式

我有以下代码:

for (var i=0;i<portfolio.length-1;i++) {
    portfolioSelect.options[portfolioSelect.options.length] =
        new Option(portfolio[i]);
}
for(var i=0;i
for(i=0;i您可以将类名分配给
className
属性,例如:

var opt;
for (var i=0;i<portfolio.length-1;i++) {
    opt = new Option(portfolio[i]);
    opt.className = "your_class_name_here";
    portfolioSelect.options[portfolioSelect.options.length] = opt;
}
var-opt;

对于(var i=0;我不在IE上工作。IE的
setAttribute
在这方面有点破绽,需要的是“className”,而不是“class”。当然,其他浏览器(正确地)期望的是“class”,而不是“className”。而使用反射属性(参见我的答案)是可靠的跨浏览器。FWIW,标题可能应该是“动态创建DOM对象并给出类”:-)
for (i=0;i<portfolio.length-1;i++) {
    var option = new Option(portfolio[i]);
    option.setAttribute('class', 'your-class-name');
    portfolioSelect.options[portfolioSelect.options.length] = option;
}
var opt;
for (var i=0;i<portfolio.length-1;i++) {
    opt = new Option(portfolio[i]);
    opt.className = "your_class_name_here";
    portfolioSelect.options[portfolioSelect.options.length] = opt;
}