
<td>内でマウスオーバー時に背景色、文字色が変わるものを作っています。
背景色は普通にthis.style.background.colorで変更できますが、
中の文字はリンクなのでstyle.colorでは変更できません。
文字の上ではなく、セルにマウスが入った時点でリンク色を変えたいのでスタイルシートではNGでした。
javascriptで1部のリンク色だけを変えたい場合はどうしたらいいんでしょう??
リンクを外して<td>内クリック時にリンクすることもできますが、ステータスバーに何も表示されないのは嫌なのでなしてす。
説明がうまくできていないと思うので不明な部分は補足します。
だれか分かる方いらっしゃいましたらよろしくお願いします。
No.2ベストアンサー
- 回答日時:
条件の詳細がわからないのですが、文字に重ならなくてもセルかかっただけで機能するリンクはスタイルシートだけでも出来ると思いますよ。
td a {
display:block;//これが重要
width:~;//お好みのサイズ、またはセルにあわせるなら100%で。
height:~;//同上
}
td a:hover{
background:~;
color:~;
}
http://allabout.co.jp/internet/hpcreate/closeup/ …
↑参考
No.1
- 回答日時:
<td>の中にある<a>を個別で呼び出すために、オンマウスした時に文字色を変えたいリンクには全てIDを振る必要があります。
プログラムを実行する<td>タグに
onmouseover="xChangeColor(this,[<a>のID])" onmouseout="xResotreColor()"
を追加します。xChangeColorで色を変更し、xRestoreColorで元に戻します。
xChangeColorの第二引数に文字色を変更するリンクのIDを代入します。以下のサンプルではIDが数字になっているので必要ありませんが、IDに数字以外の文字が含まれる場合は、
onmouseover="xChangeColor(this,'apple')"
このようにシングルクォーテーションで囲う必要があります。
xRestoreColorには引数はありません。xChangeColorで最後に色を変更したテーブルタグとリンクタグへのアクセス名を一時的に保存しているためです。
<script language="javascript" type="text/javascript"><!--
function xChangeColor(table,id){
restable=table;
resid=id;
table.style.backgroundColor="#ff8800";
document.getElementById(id).style.color="#00ff00";
}
function xResotreColor(){
restable.style.backgroundColor="#ffffff";
document.getElementById(resid).style.color="#0000ff";
}
//-->
</script>
<table border="1" cellpadding="2" cellspacing="0">
<tbody>
<tr>
<td onmouseover="xChangeColor(this,1)" onmouseout="xResotreColor()"><a href="#" id="1">りんご</a></td>
<td onmouseover="xChangeColor(this,2)" onmouseout="xResotreColor()"><a href="#" id="2">みかん</a></td>
</tr>
<tr>
<td onmouseover="xChangeColor(this,3)" onmouseout="xResotreColor()"><a href="#" id="3">バナナ</a></td>
<td onmouseover="xChangeColor(this,4)" onmouseout="xResotreColor()"><a href="#" id="4">メロン</a></td>
</tr>
</tbody>
</table>
回答ありがとうございます!
あんなにわかりにくい説明なのに丁寧に答えていただいて。。。
やはりIDを設定するんですね。
ソースまで書いていただいてありがとうございます!
参考にしたいとおもいます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) こんなことできますか?例えば、sheetに貼り付けた図形のタイトルを、セルA1の文字で表示する。 5 2022/04/22 15:25
- Visual Basic(VBA) 昨日、質問した件『VBA にて、条件付き書式で背景色を設定しているセルの範囲で、背景色付きのセルをカ 4 2022/04/07 14:39
- Photoshop(フォトショップ) MacでPhotoshopに使い方 教えて! 2 2023/07/08 08:24
- Visual Basic(VBA) マクロ実行時、自動で背景色を変えたい。 C列にあるチェックボックスをチェックするとB列に「TRUE」 4 2022/11/08 11:14
- その他(Microsoft Office) マクロについて教えて下さい 3 2022/05/28 15:36
- Windows 8 動画の再生とタイトルの変更方法を教えてください。 3 2022/08/01 14:51
- その他(Microsoft Office) Excelの条件付き書式についての質問です。 2 2022/09/08 01:25
- HTML・CSS CSSがなぜかfont-sizeだけ効かない...記述がまちがっているんでしょうか 5 2022/04/09 17:52
- HTML・CSS HTMLで特定の文字だけ色を変えたいのですが、指定した色と違う色が反映してしまいます。 下記、「前」 5 2023/06/27 12:08
- HTML・CSS HTML & CSS 縦ボックス内の文字の左右センタリング 3 2023/03/25 04:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プルダウンで選択すると、DBの...
-
チェックボックスにチェックが...
-
至急!GetElementById でtdの...
-
IEではうまく行くのですが他の...
-
テキストだけonCllickを検知したい
-
一覧から選択した行の行番号を...
-
onclickで画像と文字を別々の場...
-
ラジオボタンとセルの連動
-
特定<table>内の<td>の色を変える
-
JavaScriptで特定のtdタグにcla...
-
テーブルの項目の値取得
-
ブルダウン選択でページの表示...
-
エクセル VBA にて IE のボ...
-
二次元配列に数字をランダムに...
-
テーブルのセル数取得
-
指定した「曜日」の「時刻」に...
-
スクロールバーの表示位置を変...
-
マウスをブラウザの外に出した...
-
テーブルで複数行をまとめて非...
-
テーブル行のクリックでチェッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ハイパーリンクを別ウインドウ...
-
特定<table>内の<td>の色を変える
-
一覧から選択した行の行番号を...
-
tableの任意行にfocusをあてる
-
JavaScriptで特定のtdタグにcla...
-
プルダウンで選択すると、DBの...
-
Selenium.ChromeDriverの使い方...
-
チェックボックスにチェックが...
-
HTML中のTABLEのデータを抽出す...
-
マウスをブラウザの外に出した...
-
tdの中をクリックしたらチェッ...
-
至急!GetElementById でtdの...
-
IE以外でdisplay:noneで隠した...
-
テーブル内に表示されている数...
-
動的なtableの値を取得したい
-
テーブルの項目の値取得
-
クリックされた罫表セルの行番...
-
テーブル内に表示されている数...
-
Excelで作ったhtmlファイルのサ...
-
jqueryで表に連番No.を追加したい
おすすめ情報