javascript - Dynamically create DOM object and give class - Stack Overflow

I'm dynamically creating option elements for a drop down menu using Javascript and would like to k

I'm dynamically creating option elements for a drop down menu using Javascript and would like to know how to add a class to them so that I can style them with CSS.

I have the following code:

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

where portfolio is an array populated by an outside source.

HTML where options inserted:

<select id="portfolio" name="portfolio">
    <option selected="selected" value="Select One">Select One</option>
</select>

I'm dynamically creating option elements for a drop down menu using Javascript and would like to know how to add a class to them so that I can style them with CSS.

I have the following code:

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

where portfolio is an array populated by an outside source.

HTML where options inserted:

<select id="portfolio" name="portfolio">
    <option selected="selected" value="Select One">Select One</option>
</select>
Share Improve this question edited May 14, 2010 at 14:57 Choy asked May 14, 2010 at 14:34 ChoyChoy 2,11711 gold badges39 silver badges49 bronze badges 1
  • FWIW, the title should probably be "Dynamically create DOM object and give class" :-) – T.J. Crowder Commented May 14, 2010 at 14:45
Add a ment  | 

2 Answers 2

Reset to default 6

You can assign class name(s) to the className property, e.g.:

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;
}

This is true of any DOM element. className reflects the class attribute on the element (it's named that way because class is a reserved word in Javascript). The value is exactly like the attribute, which means it can multiple classes separated by spaces.

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;
}

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745623076a4636640.html

相关推荐

  • javascript - Dynamically create DOM object and give class - Stack Overflow

    I'm dynamically creating option elements for a drop down menu using Javascript and would like to k

    6小时前
    10

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信