• ベストアンサー

マウスオーバー時の下線表示について(リンクではありません)

とある文字列に対してマウスオーバーをした際、 その文字に対してアンダーラインを施す処理をしたいのですが、 調査をしていきますと、 A:HOVER{ (中略) } という形式がほとんどです。 上記のやり方では、 HTMLで<a>タグを用いた際A:HOVERが実行されますが、 特にリンクをする必要がないため<a>タグを用いません。 <a>タグを用いずにマウスオーバー時にアンダーラインを 施すことは可能なのでしょうか?

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

こんな感じかと、マウスアウトで修飾無しにしているので、厳密には違います。厳密に元に戻すには、保存しておく必要があります。 <script> <!-- function MakeUnderLine(element){ element.style.textDecoration="underline"; } function nonDeco(element){ element.style.textDecoration="none"; } //--> </script> </head> <body> <span onMouseover="MakeUnderLine(this)" onMouseout="nonDeco(this)">文字列(アンダーラインする?</span>

susumufire
質問者

お礼

早速のご回答ありがとうございます。 早速試しましたところ、 目的のものを作ることができました。 上記JavaScriptを受けて、勉強しましたところ、 element.style.***でスタイルシートの属性を指定できることを知りました。 サンプルソースまで作成していただきまして、 誠にありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • kuro_chan
  • ベストアンサー率53% (24/45)
回答No.1

ススムファイアーさん、こんばんは。 「文字に対してアンダーライン」リンク属性なので、 リンクしないと使えません。 なので、解決策としては <a href="#"> とすれば、どこにも飛ばずにアンダーライン表示がそのまま生きます。 ※ただし通常、マウスオーバーでアンダーライン表示されると、リンクだと勘違いてしまうので、利用者側から見たら、あまり親切なことではないですね。 がんばってください。

susumufire
質問者

お礼

早速の返答、ありがとうございます。 やはり、リンクしないと使えませんか・・・ <a href="#"> を使用しますとタグを入れた場所がスクロールをしないと見られない場合、 該当のところをクリックされると先頭のページに戻ってしまうため、 使いにくくなってしまいます。 また該当のところを強調する意味もありましたので、 マウスオーバー時にアンダーラインのみ引くという 処理を実装したかったのです。 勉強になりました! ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A