質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

2007閲覧

jsクリックでpadding-bottomを変えることができない

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2018/02/03 08:08

###■困っていること
クリックによってcssを変更したいです。

【positionの変更はOK】なのに、

同様の書き方で【padding-bottomの変更がダメ】なのです。

これはいったい、どういう理由なのでしょうか??

###■実際の動き
https://jsfiddle.net/Ltzvsk7w/

###■上のコード

【positionの変更はOK】

html

1<div id="ok"> 2<div class="okdayo" onclick="setPosition('relative');"> 3<div class="btn_ok">クリックでposition変更(absolute→relative)</div> 4</div> 5</div> 6 7<script> 8function setPosition( $position ) { 9 var $elementReference = document.getElementById( "ok" ); 10 $elementReference.style.position = $position; 11} 12</script>

【padding-bottomの変更がダメ】

html

1<div id="dame"> 2<div class="damedayo" onclick="setPadding('100px');"> 3<div class="btn_dame">クリックでpadding-bottom変更(10px→100px)</div> 4</div> 5</div> 6 7<script> 8function setPadding( $padding-bottom ) { 9 var $elementReference = document.getElementById( "dame" ); 10 $elementReference.style.padding-bottom = $padding-bottom; 11} 12</script>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

paddingBottomだとどうでしょうか。
変数にハイフンは使えないような?

投稿2018/02/03 08:12

dala00

総合スコア441

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/02/03 08:17

おおお、ありがとうございます!できました。 「変数にハイフンは使えない」だなんて、、言語ごとに統一してほしいですね。(;・∀・)
defghi1977

2018/02/03 11:31

ハイフンマイナスは大抵の言語で「引き算」ですよ
退会済みユーザー

退会済みユーザー

2018/02/03 16:30

へぇ~!!それじゃCSSだけが特殊なのですね。覚えておきます♪ありがとうございます。
defghi1977

2018/02/03 18:01

そうじゃなくて, スタイルシート言語であるCSSとスクリプト言語であるJavaScriptを一緒くたにしてはいけないんです. それにCSSの「padding-bottom」はそもそも変数名ではないし, CSSにおける変数はCSS variablesという専用の仕様があります.
guest

0

よっ

tipsです:)

  1. scriptを分ける必要がありません:)
  2. jQueryを使ったら、変数によく「$」を使用していますが、本当は不要です:)
  3. Javascriptを使うと、ハイフンが使えないですので、CamelCase形になります : paddingBottom
  4. onloadのEventを使ってないですので、あのfunctionを使っているHTMLの前に、Javascriptを書いてください:)
<script> function setPosition( position ) { var elementReference = document.getElementById( "ok" ); elementReference.style.position = position; } function setPadding( paddingBottom ) { var elementReference = document.getElementById( "dame" ); elementReference.style.paddingBottom = paddingBottom; } </script> <h4>これがダメ</h4> <div id="dame"> <div class="damedayo" onclick="setPadding('100px');"> <div class="btn_dame">クリックでpadding-bottom変更(10px→100px)</div> </div> </div> <h4>これはOK</h4> <div id="ok"> <div class="okdayo" onclick="setPosition('relative');"> <div class="btn_ok">クリックでposition変更(absolute→relative)</div> </div> </div>

投稿2018/02/03 10:01

jerome.dupuis

総合スコア172

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/02/03 16:30 編集

おおお、わかりやすいご回答、ありがとうございます。 ・・・ >1.scriptを分ける必要がありません:) 毎回わけてました。笑 >2.jQueryを使ったら、変数によく「$」を使用していますが、本当は不要です:) びっくりです。 >3.Javascriptを使うと、ハイフンが使えないですので、CamelCase形になります : paddingBottom 今回できなかった理由ですね。キャメルケースというのですか。覚えておきます。 >4.onloadのEventを使ってないですので、あのfunctionを使っているHTMLの前に、Javascriptを書いてください:) 覚えておきます。 ・・・ ベストアンサーは決めてしまったので浮気はしませんけれど、よりわかりやすいご説明、誠に感謝です。('◇')ゞ
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問