電子書籍の厳選無料作品が豊富!

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

A 回答 (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>
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。

早速試しましたところ、
目的のものを作ることができました。

上記JavaScriptを受けて、勉強しましたところ、
element.style.***でスタイルシートの属性を指定できることを知りました。

サンプルソースまで作成していただきまして、
誠にありがとうございました。

お礼日時:2004/11/08 20:30

ススムファイアーさん、こんばんは。



「文字に対してアンダーライン」リンク属性なので、
リンクしないと使えません。

なので、解決策としては
<a href="#">
とすれば、どこにも飛ばずにアンダーライン表示がそのまま生きます。

※ただし通常、マウスオーバーでアンダーライン表示されると、リンクだと勘違いてしまうので、利用者側から見たら、あまり親切なことではないですね。

がんばってください。
    • good
    • 0
この回答へのお礼

早速の返答、ありがとうございます。

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

勉強になりました!
ありがとうございました。

お礼日時:2004/11/08 20:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!