fujillinさん、前回はサンプルをご提示いただきありがとうございました。このサンプルは、このテーブルのセルの上でクリックしたとき背景色が変わるものなのですが、以前お書きしたように私が今作っているプログラムは、Aページの
<form name="fomes"><input type="button" style="width:100%;padding:10px;font-
size:30px;"value="全問正解の方は、こちらをクリック!" onclick="location.href='localhost/mondai_hyou.html#b1';">
<input type="button" style="width:100%;padding:10px;font-size:30px;" value="一問でも不正解の方は、こちらをクリック!" onclick="location.href='localhost/mondai_setumei.html;'">
</form>からBページの表のテーブルセルのb1の背景色を変えて、ファイル名を付けてサーバーにアッ
プする。そして、この状態をローカルストレージに保持して、再びこのファイル名で呼び込むとき、
前の状態のまま呼びだすことができればプログラムもほぼ完成が見えてくるのですが、
AページからBページのこの部部のが表になります。
<body><table id="abc" frame="void" border="1">
<thead>
<tr>
<th>年 度 / 項 目</th> <th>平成26年</th><th>平成27年</th><th>平成28年</th>・・・・・・・・・・・・・・・・・
</tr>
</thead>
<tbody>
<tr><td><B>問題の計算</B></td>
<td id="td01"><a href="localhost/mondai_1.html">問題1</a></td>
<td id="td02"><a href="localhost/mondai_2.html">問題2</a></td>
<td id="td03"><a href="localhost/mondai_3.html" >問題3</a></td>
・・・・・・・・・・・・・・・・・</tr>
</tr>
</tbody>
</table>
サンプルでお示しいただきました方法を使って、この表の背景色を変える方法をお教えいただきたい
のですが、お力添えを宜しくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんにちは
残念ながら、断片情報を示されてもほとんどわかりません。
前の回答
https://oshiete.goo.ne.jp/qa/10234256.html
にも記しましたように全体像がまったくわからないので、お断りしましたように前回回答はあくまでも「web strage」の読み書きの例として示したにすぎません。
ですので、(私にはわからない)質問者様のなさりたいことをどのように実装すれば良いのかは考えることができません。
質問者様にとっては当たり前の情報であっても、ご質問文に記されていない情報は、回答者にとってはわからないものとなります。
例えば、このご質問文に提示されているHTMLの断片を例にすれば、Aページのボタンをクリックした時に表示されるmondai_setumei.htmlというのは、Bページのことなのかさえ確信はできません。(どうやらBページのことらしいと推測はできますが…)
さらには、Bページからリンクしているmondai_1~3(もっとあるのかも?)やその先がどうなっているのかは、もはや謎です。
(もちろん、不要な情報を滅多矢鱈と並べ立てられるよりは、必要な部分に絞って他は省略していただく方が簡潔な質問になるので良いのですが、仕組みにかかわる部分に関しては最低限の情報が必要だと思います。)
「色が変わる」とのことですが、そのタイミングがいつ、どのようにしてなのかもわからないですね。(Aページの上側のボタンをクリックした時だけなのか、他にもあるのか)
ただし、前回申し上げましたように、対象とする情報が更新された際に同時にストレージに保存する処理を行うようにしておけば、それで記録はできるはずと思います。
(最小限の処理回数でなさりたい場合は、毎回記録しなくても済む可能性はありますが…)
読み込み時のセットはページ表示時に行えばよいと想像しますが、どうやらどこかのタイミングで読み込み時にも色を変えているらしいので、保存しておいた色の情報と新しい情報(←このような情報があるのかわかりませんが)とをどのように組み合わせるのが良いのかも判断できません。
さらに、具体的な内容として、「色が変わる」のはどの範囲で、どのような色の種類があり、色の付き方に規則性(関連等)があるのかバラバラなのかなどの条件によっても、記録・保存すべき内容は変わってくるのかも知れません。
・・・とは言え、なんとなくの印象としては、Bページ上で「記録・保存」も「読み出し」も行えば済むのではないかと感じます。しかしながら、なんせ全体の構成やつながりをまったくわかっていませんので、当たるも八卦的な感じではあります。
※ 前回も書きましたが、IEはローカル環境ではstrageを利用できない可能性がありますので、もしもそのような環境なのであれば、情報の保存先としてcookieを利用なさる方が賢明かも知れませんね。(情報量がそれほど多くはなさそうに感じますので)
※ ついでながら、ここは一般に解放された質問掲示板なので、個人に対する質問はマナー違反になりそうな気がしますし、回答者を限定したところで、質問者様が得をすることはまったくないと思います。
※ 前回の質問などの経緯や情報がわかるようにしておけば、他の方の回答が得られるかもしれませんよ。(整理した情報を提供できならば、前回を引用する必要はありませんけれど)
fujillinさん、早速のご回答ありがとうございました。また、個人的な質問をしてしまい申し訳ありませんでした。質問内容に不備が多く的を得た質問内容を示すことができず混乱をさせてしまい申し訳ありませんでした。ご迷惑をおかけいたしました。
No.2
- 回答日時:
ローカルストレージはつかいこなせないので。
b.html と a.html をおなじところにおいて、b.html からよびだしてみる。
a.html
--
<!DOCTYPE html>
<title>a.html</title>
<meta charset="utf-8">
<style>
td { width:5em; }
td.mark { background: #fdd; }
</style>
<body>
<table id="abc" border="1">
<tbody>
<tr><td>A <td>B <td>C <td>D
<tr><td>E <td>F <td>G <td>H
</table>
<script>
function setCookie (doc, name, value, expires, path, domain, secure) {
if (3 > arguments.length)
throw new Error;
var cookie = [ encodeURIComponent (name) + '=' + encodeURIComponent (value) ];
if (expires) cookie[cookie.length] = 'expires=' + new Date (expires).toUTCString ();
if (path) cookie[cookie.length] = 'path=' + encodeURI (path);
if (domain) cookie[cookie.length] = 'domain=' + encodeURI (domain);
if (secure) cookie.push ('secure');
doc.cookie = cookie.join ('; ');
}
function getCookie (doc, name) {
var n = encodeURIComponent (name).replace (/\W/g, '\\$&');
var v = doc.cookie.match (new RegExp (n + '\\s*=\\s*(.*?)(?:[;,\\s]|$)'));
return (v) ? decodeURIComponent (v[1]): '';
}
let
reg = /r(\d+)c(\d+),/ig,
table = document.querySelector ('#abc'),
hash = location.hash,
mark = /^#cls$/i.exec (hash) ? '': getCookie (document, 'MARK'),
rc;
if (/^#r(\d+)c(\d+)$/i.exec (hash))
mark += hash.slice(1) + ',';
for (; rc = reg.exec (mark); )
table.rows[rc[1]].cells[rc[2]].className = 'mark';
setCookie (document, 'MARK', mark);
</script>
--
b.html
--
<!DOCTYPE html>
<title>b.html</title>
<meta charset="utf-8">
<body>
<p>
<a href="a.html#r1c1">R1C1</a>,
<a href="a.html#r0c3">R0C3</a>,
<a href="a.html#cls">cls</a>
</p>
babu_babu_babooさん。この度は、ご回答いただきありがとうございました。
お示しいただきましたプログラムを参考に現在作成しているwebページに利用してみたいと思います。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- JavaScript javascriptでテーブルに追加した項目のid追加してローカルストレージを操作したい 5 2023/01/01 15:52
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- HTML・CSS 自身のHPにYouTube動画を貼り付けるのが出来なくなり困ってます 1 2022/11/11 10:44
- HTML・CSS 【CSS】:hasで可能? imgを含むtr要素を選択したい 1 2022/11/17 14:36
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プルダウンで選択すると、DBの...
-
<td>の中のonClick="location" で
-
tableの任意行にfocusをあてる
-
jspでのArrayListの値の表示
-
何番目のクラスか取得するには
-
ハイパーリンクを別ウインドウ...
-
空のテーブルを表示させたい
-
PERL
-
jqueryでどうやってエスケープ?
-
onMouseOverで複数(?)のセル...
-
PC情報の調べ方教えてください。
-
テーブルセルの列での背景色の変更
-
クリックされた罫表セルの行番...
-
ウイルスバスターオンラインス...
-
至急!GetElementById でtdの...
-
jquery datatablesを使用 イン...
-
一覧から選択した行の行番号を...
-
JavaScriptで特定のtdタグにcla...
-
Jquery on click 発火しない
-
月間予定表の作り方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ハイパーリンクを別ウインドウ...
-
マウスをブラウザの外に出した...
-
JavaScriptで特定のtdタグにcla...
-
特定<table>内の<td>の色を変える
-
一覧から選択した行の行番号を...
-
tableの任意行にfocusをあてる
-
プルダウンで選択すると、DBの...
-
至急!GetElementById でtdの...
-
【UWSC】HTML内のある部分を抽...
-
javascript クリックすると、あ...
-
jsで質問です。 displayプロパ...
-
javascriptで質問です。 displa...
-
クリックされた罫表セルの行番...
-
テーブルの変数について
-
別ページからOnclickでテーブル...
-
スクロールバーの表示位置を変...
-
JavaScriptでテーブルをクリッ...
-
Selenium.ChromeDriverの使い方...
-
Excelで作ったhtmlファイルのサ...
-
チェックボックスにチェックが...
おすすめ情報