みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

CSS 特定の文字列が入った要素を指定して処理

テーブルタグを使ったスケジュール表があり、「休憩」や「昼休み」という文字があったら、背景の色を変えるといったものをしたいです。
スケジュールの時間により、「休憩」や「昼休み」の配置が変わってしまいます。なので、条件で背景の色を変えるようにしたいです。
https://handywebdesign.net/2017/11/jquery-contains/

ヘッダー内に
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<script type="text/javascript">$(“td:contains(‘休憩’,’昼休み’)”).css(“background-color”,”#ccc”);</script>
を記述。

結果は変わりませんでした。
何かいい方法がありましたら教えてください。
よろしくお願いします。

投稿日時 - 2019-01-21 14:48:40

QNo.9579987

困ってます

質問者が選んだベストアンサー

大きく分けて二つの問題があります。
```
<script type="text/javascript">$(“td:contains(‘休憩’,’昼休み’)”).css(“background-color”,”#ccc”);</script>
```
こちら、「全角」で書かれています。そのためそもそも、命令として認識されていないという問題。
二つ目は、メソッドのプロトタイプが1つしかないのに、パラメタを2個与えた問題。
```
:contains(text)
```

以上を整理すると、2つに分けてしまえばOKです。
$("td:contains('休憩')").css("background-color","#ccc");
$("td:contains('昼休み')").css("background-color","#ccc");
これで、動作しますよ。
ただし、この分を「HTMLの最後」に書いてください。
先に書くと、まだ書かれてもいない文字を探すので、
何も起こらずに終了します。

これで解決でしょうか?

投稿日時 - 2019-01-21 15:44:43

お礼

ありがとうございます。
パラメタを2個与えてしまったのですか。
最後に書く理由もなるほどでした。
大変勉強になりました。

投稿日時 - 2019-01-21 16:04:52

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問