• ベストアンサー

リンクの既読制御について

JSPで画面を作成しています。用語におけるヘルプとして用語にリンクをはってクリックするとそのヘルプが動的に別画面で起動します。(onclickでサーブレットを呼び出して引数のIDによって表示する内容を変更) そうすると同じfunctionで呼び出す全ての項目が既読(紫)になってしまいます。 これを選択した用語だけ既読にするにはどうしたらよいでしょうか? 呼び出し部分 <a href="#" onclick"popuphelp('/frameworkservlet/XXX.html?ID0001','help01');return false;">用語01</a>

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

  • ベストアンサー
  • LOHA
  • ベストアンサー率52% (203/388)
回答No.1

>そうすると同じfunctionで呼び出す全ての項目が既読(紫)になってしまいます。 全て変わってしまうのはhref="#"が原因です。 aタグに擬似クラスというものがあり、これによりhref="#"のリンクがクリックされると、href="#"としているアンカーの色が全部変わってしまうのです。 aの擬似クラス:http://siriasu.s10.xrea.com/styles_heet/css02.htm クリックされたもののみの色を変えたいのであればonclickの中で色を変更する処理を書きましょう。(「this.style.color="#色";」的な感じで) また、そもそもhref="#"はあまり意味がないので、代替策を考慮した方がよいかもしれません。 http://blog.webcreativepark.net/2007/08/01-135601.html 個人的には <a href="用語のリンク先アドレス" onclick="ポップアップの処理; return false;">...</a> とするのが、javascriptがオフの時でも動作するようになるし、リンクの問題も解決するのでお勧めですね。 #余談ですがカテ違いかもです。

yura19
質問者

お礼

> href="#"としているアンカーの色が全部変わってしまうのです。 これが原因かというのはなんとなくあたりがついていましたが、これをどうしたらという点が悩みでした。 (「this.style.color="#色";」的な感じで) これが知りたかったです。ありがとうございました。 > #余談ですがカテ違いかもです。 そうですよね、ちょっとどれか悩みました。