2012-03-08 3 views
5

私の研究は、これは(http://www.w3schools.com/jsref/dom_obj_all.aspから)任意のDOM要素の「スタイル」プロパティ についてこう述べています。が<label>テキストの色を変更することはできませんベースHTML DOM要素に

"style -- Sets or returns the style attribute of an element" 

「ラベル」タグは、DOM要素です。そして、それは 'スタイル'のプロパティを持っています。上記のw3schoolsリンク を指摘すると、すべてのDOM要素には「スタイル」プロパティがあります。

そして実際に、ここで私はラベルタグの「スタイル」プロパティ(インライン)を設定しています - これは正常に動作します:

<label for="itemImageId" style="color: gray" id="labelForImageUploadID">Item image</label> 

ラベルテキストの色は、ページのロード時に灰色です時間。

アップロードする画像を選択する準備が整っていることをユーザーが示しています。 - 上記の最初の灰色のテキストの色を黒色に変更すると、アップロードを「有効」にする必要があります。

このラベルのテキストの色にcssクラスを使用し、 'className'プロパティを動的に使用することができますか? 上記のCSSクラスを変更しますか?あなたは私が賭ける。今夜私はこのDOM要素の足を持っていますが、火に の足があります。私はちょうど1つの 'スタイル'属性(テキストの色)を変更し、そのクラスだけを追加したくない。 - 私がここで試しているのは、ドキュメントに従って動作するはずです。

DOMが「取得」し、DOM要素の プロパティを「設定」できると言う理由で、「スタイル」プロパティを使用できない理由を知りたいと思います。

ここに私は私の「スタイル」プロパティを-ing「設定」だ - これは何もしません - ラベルテキストはグレーのまま:

document.getElementById('labelForImageUploadID').style = "color: rgb(0,0,0)"; 

もこれがグレーから黒に色を変更しません:

document.getElementById('labelForImageUploadID').style = "color: black"; 

上記のコードは、後にラベルがページ既に表示され、フォーム上のボタンのonclickイベントに応答してラベルもの一部であること(JavaScriptで)を実行します。

DOM要素の「スタイル」プロパティを「設定」する機能にバグはありますか? http://www.w3schools.com/jsref/dom_obj_all.aspによると 、

"HTMLElement Object 

    The following properties, and methods can be used on all HTML elements." 

     (other properties here.....) 
    "style -- Sets or returns the style attribute of an element" 
     (still other properties here......) 

は、なぜ私は上記の私のコードでは、その要素の「スタイル」プロパティを変更することはできませんか?

答えて

8

この回答を2017年に検討したところ、スタイル・ストリング全体の設定例は正しく機能しています。私は問題が何だったのか分かりませんが、 ですが、以下の例は依然として有効なアプローチです。JavaScriptでスタイルを設定する


通常、次のような形式は以下:

:jQueryのを使用している場合

document.getElementById("abc").style.[css property name in camel case] = "[value]"; 

を、それは少しクリーナーになり

// find all elements with the tag name "bar" that are direct 
// descendants of an element with the class name "foo" 
$(".foo > BAR").css("color", "red"); 

// set multiple properties 
$(".foo > BAR").css({ color: "red", "background-color": "beige" }); 
+0

ありがとうございました。それは本当にW3はこことそこに少しうんざりです。私はあなたの助けを借りて私のラベルのテキストの色を正しく回答することができました - あなたの他の情報にも感謝します。 – wantTheBest

関連する問題