2012-04-08 6 views
3

誰かが最初の作成されたdivで背景色がうまくいかず、2番目の例でそれがなぜ起こるのか説明できないのだろうかと思います。jQuery divを背景色でオンザフライで表示

$("<div/>", { 
width:300, 
height:400, 
backgroundColor:"#425412", //background-color does not work 
text: "hello there" 
}).appendTo("body"); 

注:background-colorプロパティを指定しないと、divが作成されます。

// works as defined including background-color 
$("<div style='width:300; height:400; background-color:#425412;'>hello there</div>").appendTo("body"); 

最初の方法には制限がありますか?

答えて

5

backgroundColorプロパティをcssオブジェクトのキーにする必要があります。

$("<div/>", { 
    width:300, 
    height:400, 
    css: { 
     backgroundColor:"#425412" 
    }, 
    text: "hello there" 
}).appendTo("body"); 

jsFiddle

+0

あなたは私をだます+1 – Starx

+0

本当に...面白い。ありがとう、それは私のための新しいものです。:-) – Daniel

+0

@Daniel:それは[jQuery docs](http://api.jquery.com/jQuery/#jQuery2)でかなりあいまいです:* jQuery 1.4以降jQuery()の第2引数は、.attr()メソッドに渡すことができるプロパティのスーパーセットからなるマップを受け入れることができます。さらに、任意のイベントタイプを渡すことができ、val、css、html、text、data、width、height、またはoffsetのようなjQueryメソッドを呼び出すことができます。 "class"という名前はJavaScriptの予約語なのでマップ内で引用しなければなりません。 "className"は正しい属性名ではないので使用できません* – Spoike