JavaScriptでスタイルを変更する際に以下2つの方法を使っていました
- element.className = "クラス名";
- element.style.property = "変更後の値";
上記を混ぜて使うと2つめの方が優先されるようです
ここでのelementは
var element = document.getElementById("ID");
などで取得した対象の要素
ここでのpropertyは
color や display や width など
試してみる
以下のそれぞれのボタンをクリックすると 対象の要素 の文字色が変わります
対象の要素
要素にstyleが設定されているとclass名の指定よりも優先されるため
element.style.color = "purple" を先にクリックすると
element.className = "text_green" をクリックしても文字色は変わらない
コード.gs
function doGet() { return HtmlService.createHtmlOutputFromFile("index"); } |
意訳この機能がやること 指定したHTMLファイルを表示する |
index.html
<!DOCTYPE html> <html> <style> .text_green { color: green; } </style> <body> <div id="div1">対象の要素</div> <button id="bt_class_name">element.className = "text_green"</button> <button id="bt_style_color">style.color = "purple"</button> <script> document.getElementById("bt_class_name").onclick = bt_class_name_clicked; document.getElementById("bt_style_color").onclick = bt_style_color_clicked; var div = document.getElementById("div1"); function bt_class_name_clicked() { div.className = "text_green"; } function bt_style_color_clicked() { div.style.color = "purple"; } </script> </body> </html> |
意訳これはHTML5文書です テキストの色をgreenにする div要素を置く ボタンを置く(idはbt_class_name) ボタンを置く(idはbt_style_color) idがbt_class_nameをクリックしたらbt_class_name_clickedを実行する idがbt_style_colorをクリックしたらbt_style_color_clickedを実行する idがdiv1の要素を取得する この機能がやること idがdiv1の要素のclass名をtext_greenに変える この機能がやること idがdiv1の要素のsytyleのcolorをpurpleに変える |