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

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

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

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

4回答

2756閲覧

jQueryでcssの変更を行いたい

退会済みユーザー

退会済みユーザー

総合スコア0

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2015/10/19 15:38

編集2015/10/20 05:28

HTML

1<html> 2 <head> 3 <meta charset="utf-8"> 4 </head> 5 <body> 6 <select id="fruits"> 7 <option value="foo">apple</option> 8 <option value="bar">banana</option> 9 <option value="baz">peach</option> 10 </select> 11 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> 12 <script type="text/javascript"> 13 $('<option></option>') 14 .attr('value', 'testadd') 15 .text('orange') 16 .css('background-color', '#FFff00') 17 .appendTo('#fruits'); 18 </script> 19 </body> 20</html> 21

このようなコードを書いたところFirefoxでは正常にorangeの項目が'#FFff00'の色に変わったのですが、ChromeやOperaではCSSが反映されません
Chromeのエラーログなどを確認するも何も表示されていませんでした
原因や解決法がわかる方いっらしゃいましたらご教示願います

追記
Chrome開発ツールのElementsはこのようになっています
styleは追加されていますが反映がされません

イメージ説明

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

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

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

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

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

guest

回答4

0

Mac Chrome 46.0.2490.71 最新版で同じようにスタイルが反映されないのを確認しました。
原因まで調べることはできませんでしたが。。。

追記
Mac用のWebKit共通の制限で、selectメニューに色をつける方法はありません。とのことです。
http://qa.atmarkit.co.jp/q/2390

投稿2015/10/21 04:09

編集2015/10/21 04:15
cozynooks

総合スコア33

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

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

退会済みユーザー

退会済みユーザー

2015/10/21 10:24

回答ありがとうございます 原因はおそらくこれのようですが今回はもっともお世話になった他の方をベストアンサーに選びました ベストアンサーに選べずすみません ありがとうございました
guest

0

chrome のバージョン 46.0.2490.71 m
oper のバージョン 32.0.1948.69
で実行してみましたが、私も期待したとおりに動きます。
jQueryの動作がおかしいのか、そもそもHTMLの出力結果がおかしいのかを確認してみてはいかがでしょうか?
例えば、

<option value="hoge" style="background-color:#FFFF00">grape</option> というのを追加して、この選択肢の背景色が表示されるかどうか? 表示されないようであれば、ブラウザのキャッシュが異常とか?(単なる推測ですが)

投稿2015/10/20 05:49

guylocke

総合スコア10

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

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

退会済みユーザー

退会済みユーザー

2015/10/20 06:00

回答ありがとうございます <option value="hoge" style="background-color:#FFFF00">grape</option> を追加してみたところFirefoxではCSSが適応されますがやはりChromeではされませんでした そのためjqueryの問題ではなくChrome(とHTML?)に原因があるのではないかと思っています またChromeのキャッシュを削除しても変わりませんでした
guest

0

そのままコピペでやってみましたが、
期待値通りの動作をしていました。
イメージ説明
バージョンは「46.0.2490.71 m(64-bit)」です。

投稿2015/10/19 20:35

TetsujiMiwa

総合スコア1124

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

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

退会済みユーザー

退会済みユーザー

2015/10/20 05:38

回答ありがとうございます 私もいまローカルにあるプログラムではなくここに書き込んだコードをコピペして実行してみたのですがやはり反映されませんでした
guest

0

ベストアンサー

appendTo('#books'); これは#fruits の間違いでしょうか?
コードそのままいただいて実行してみましたが、chromeですが色ついています。
バージョン 46.0.2490.71 m

投稿2015/10/19 15:47

hirohiro

総合スコア2068

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

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

退会済みユーザー

退会済みユーザー

2015/10/19 15:56

回答ありがとうございます そうです、#fruitsの間違いです 申し訳ありませんでした 検証いただきありがとうございます 私もバージョン 46.0.2490.71のChromeを使用していますがやはり色はつきません 念のためChromeの再起動も試みたのですが変わりませんでした
hirohiro

2015/10/19 17:08 編集

あら。バージョン同じなのに駄目なんですね。 DOCTYPEでしょうか? 先頭行に次のを追加しても駄目ですか? <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 因みにこちらでは <option value="testadd" style="background-color: rgb(255, 255, 0);">orange</option> これがselectの最下段に追加されており、ブラウザで確認するとプルダウンしたorangeの項だけに色がつきます。 「CSSが反映されません」というのはoptonは追加されておりvalueも正しいが、styleの追加がない状態ですか?styleはあるが色が変化していない等でしょうか?
退会済みユーザー

退会済みユーザー

2015/10/20 05:32

回答ありがとうございます ご指摘していただいた通りDOCTYPEの指定を忘れていたので追加してみましたが反映されませんでした styleはあるが色が変化しておりません ソースのキャプチャを追記しましたのでもしよろしければ確認よろしくお願いします
hirohiro

2015/10/20 10:08

> styleはあるが色が変化しておりません ということはjQueryは正しく動いるが、記述されたスタイルが表示に反映されていない状態ということですね。 見た感じおかしなところは無さそうですが、ディレロッパーツールズ(F12で開く)のelementで表示して、問題のoptionをクリックすると、恐らく画面右側にstyleが表示されます。そこに「background-color: rgb(255, 255, 0);」が無いか、あっても横線で否定されてたりしませんか? その場で書き換えできるので、表記を色々変更してみたら問題がわかるかも知れません。 rgb指定をディベロッパーツール上で16進指定の色に変えてみたら色ついたりとか… それとほかのスタイルは当たりますか?font-size:large とか
退会済みユーザー

退会済みユーザー

2015/10/21 03:51

回答ありがとうございます デベロッパーツールで確認したところ「background-color: rgb(255, 255, 0);」はありました。横線が引かれていることもなかったです。 また16進数に替えたりキーワードでカラーを指定してみたりしたのですがかわりませんでした。 ご指摘いただいたfont-size:largeを追加してみるとこちらは正しく適応されていました。 select タグの下にp タグを挿入しそのタグを操作したところcssのカラーもfont-size:largeなどの他のスタイルも適応されました。 よってselect タグの中で、かつカラーの適応のみができていないということが予測されるのですが未だ解決方はわかっておりません。
hirohiro

2015/10/21 04:25 編集

Macのブラウザ固有の現象かも知れないそうです。 http://ajya.hatenablog.jp/entry/2014/07/23/053909 cozynooksさんの投稿を見て検索してみたら↑のようなページがHITしました。 手元にMACが無いので確認できませんが… リンク先の更に先の質問ページにも書かれていますが、selectを使わないcss3を利用したプルダウンなどで対応するしかないのかも知れません
退会済みユーザー

退会済みユーザー

2015/10/21 10:21

回答、参考URLありがとうございます Mac固有の現象だったのですね 私のマシンはMacなのでおそらくこれが原因と考えて間違いないかと思います ここ数日悩み続けていたことがやっと解決しました 何度も丁寧に回答していただき本当にありがとうございました 助かりました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問