无法设置“class”属性?

时间:2011-11-18 09:11:10

标签: javascript jquery

jquery中的这些行让我变坏:

var selectBoxContainer = $('<div>',{width: select.outerWidth(), className:'styledSelect', html:'<div class="selectBox"></div>'});
var dropDown = $('<ul>',{className:'dropDown'});

它应该在输出中设置类属性“class =”styledselect“,但属性的名称是”classname“:

<div classname="styledSelect">
    <ul classname="dropDown" style="display: none;">...</ul>
</div>

当我将其更改为{class:'dropDown'}时,它在Firefox中有效,但在其他浏览器中无效。

请帮助...

4 个答案:

答案 0 :(得分:11)

尝试:

{ "class": "dropDown" }

或将.addClass("drowDown")添加到最后。

答案 1 :(得分:9)

使用

{'class': 'dropDown'}

class是JavaScript中的未来保留字,因此您必须将其指定为某些浏览器的对象文字内的字符串,尤其是IE 8及更低版本。

答案 2 :(得分:3)

最简单的方法是使用以下内容:

var dropDown = $('<ul>').addClass('dropDown');

使用jQuery本机方法,它们是为此而制作的。这种方式也更具可读性。

答案 3 :(得分:1)

{'class':'dropDown'}

应该适用于所有浏览器。或者,您可以尝试

dropDown.addClass("dropDown");
祝你好运!