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

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

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

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

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

jQuery

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

Q&A

解決済

3回答

630閲覧

特定のブロックだけ色を変更する方法はjQueryでは、どのようなやり方がありますか?

hiro0208

総合スコア75

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

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

jQuery

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

0グッド

0クリップ

投稿2017/06/30 05:42

編集2017/06/30 06:10

イメージ説明

上図のような、1のレコードだけ灰色にするような、記述はどのように書けばよいでしょうか?
今の記述だと全体が灰色になってしまうため、ご教授いただけないでしょうか?
よろしくお願いします。

html

1<table border="1" class="staff"> 2<tr><td>1</td><td>A</td><td>AA</td><td>AAA</td><td>AAAA</td></tr> 3<tr><td>2</td><td>B</td><td>BB</td><td>BBB</td><td>BBBB</td></tr> 4<tr><td>3</td><td>C</td><td>CC</td><td>CCC</td><td>CCCC</td></tr> 5</tr> 6</table>

javascript

1no ・・・ 主キーを利用しています。 2 3function setOn(no) { 4 $('.staff').css('background-color','#ffffff'); 5}; 6

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

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

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

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

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

m.ts10806

2017/06/30 06:01 編集

ご提示のHTMLだとそもそも全てで1レコードになっているのですが・・・
hiro0208

2017/06/30 06:11

すみません。間違っていました。修正しています。
m.ts10806

2017/06/30 06:22 編集

setOn() の呼び出しがどこにも書かれていないので、そこも追記いただけますか? 「ページ表示に」だと既に回答があるようにjQueryなしのCSSだけで対応した方が良いですし、何かのタイミングで背景変更イベントが起きるのであればそちらも明示してください。
guest

回答3

0

ベストアンサー

HTMLこれであっていますでしょうか?

<tr class="staff"> <td>1</td><td>A</td><td>AA</td><td>AAA</td><td>AAAA</td> </tr> <tr class="staff"> <td>2</td><td>B</td><td>BB</td><td>BBB</td><td>BBBB</td> </tr> <tr class="staff"> <td>3</td><td>C</td><td>CC</td><td>CCC</td><td>CCCC</td> </tr>

なきがしますが……

この場合だと、
:nth-of-type(n)だというものが使えそうな気がします。

$('tr:nth-of-type(1)').css('backgroundColor', 'gray');

と言った感じですかね?

追記

<script src="https://code.jquery.com/jquery-3.2.1.js" integrity="sha256-DZAnKJ/6XZ9si04Hgrsxu/8s717jcIzLy3oi35EouyE=" crossorigin="anonymous"></script> <table> <tr class="staff"> <td>1</td><td>A</td><td>AA</td><td>AAA</td><td>AAAA</td> </tr> <tr class="staff"> <td>2</td><td>B</td><td>BB</td><td>BBB</td><td>BBBB</td> </tr> <tr class="staff"> <td>3</td><td>C</td><td>CC</td><td>CCC</td><td>CCCC</td> </tr> </table> <script> $(function(){ $('tr:nth-of-type(1)').css('backgroundColor', 'gray'); // 1列目の色を解除 setOff(1); // 2列目に色を付けてみる setOn(2); }); // こいつかな? function setOn(num){ // 指定した列の色を変える $('tr:nth-of-type('+ num +')').css('backgroundColor', 'gray'); } // ついで function setOff(num){ // 指定した列の色を元に戻す $('tr:nth-of-type('+ num +')').css('backgroundColor', ''); } </script>

投稿2017/06/30 06:01

編集2017/06/30 06:59
nnahito

総合スコア2004

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

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

hiro0208

2017/06/30 06:33 編集

ありがとうございます! $('tr:nth-of-type(1)')の引数の「1」に選択した場合色が変わりました。 ちなみに、選択したレコードの色を変えるために 主キーnoを利用する関数setOnを作りたいのですが、、、どのようにするかお分かりになりますか?
nnahito

2017/06/30 06:59

追記しました
guest

0

1行目限定ならこう

$(function(){ $(".staff tr:nth-of-type(1)").css("background-color","#ccc"); });

余談

「クリックした行を灰色にする」という感じで遊んでみました。
何かの参考にしてみてください。

html

1<style> 2.g{ 3 background-color:#ccc; 4} 5</style> 6 7<table class="staff"> 8<tr><td>1</td><td>A</td><td>AA</td><td>AAA</td><td>AAAA</td></tr> 9<tr><td>2</td><td>B</td><td>BB</td><td>BBB</td><td>BBBB</td></tr> 10<tr><td>3</td><td>C</td><td>CC</td><td>CCC</td><td>CCCC</td></tr> 11</table> 12

script

1$('.staff tr').on('click', function(){ 2 $('.staff tr').removeClass("g"); 3 $(this).addClass("g"); 4});

投稿2017/06/30 06:16

編集2017/06/30 06:19
m.ts10806

総合スコア80850

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

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

0

ご提示のHTMLは行に分かれていませんが?
classはtable自体につけていいのでしょうか?
cssで十分かと思います。

CSS

1.staff tr:first-child{ 2 background-Color:#808080; 3} 4

HTML

1<table class="staff"> 2<tr><td>1</td><td>A</td><td>AA</td><td>AAA</td><td>AAAA</td></tr> 3<tr><td>2</td><td>B</td><td>BB</td><td>BBB</td><td>BBBB</td></tr> 4<tr><td>3</td><td>C</td><td>CC</td><td>CCC</td><td>CCCC</td></tr> 5</table> 6 7

つけたり消したり

つけたり消したりするのもclassをベースにやったほうが楽だとおもいますが

<style> .trgray{background-Color:gray;} </style> <script src="https://code.jquery.com/jquery-3.2.1.js" ></script> <script> $(function(){ $('.staff:eq(0)').toggleClass('trgray'); $('.staff:eq(1)').toggleClass('trgray'); }); </script> <table> <tr class="staff trgray"><td>1</td><td>A</td><td>AA</td><td>AAA</td><td>AAAA</td></tr> <tr class="staff"><td>2</td><td>B</td><td>BB</td><td>BBB</td><td>BBBB</td></tr> <tr class="staff"><td>3</td><td>C</td><td>CC</td><td>CCC</td><td>CCCC</td></tr> </table>

投稿2017/06/30 06:06

編集2017/06/30 07:30
yambejp

総合スコア114769

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問