私はいくつかのボタンのロールオーバーを作成し、「優雅な劣化」のために、そしてすべての画像のロールオーバーなどのコードを書かないために、より効率的なコードを書こうとしています。そうは言っても、私がやりたいことは、数行のコードで、ロールオーバーが画面に表示されるものを少し賢くすることです。
私が達成しようとしているものの1つは、ロールオーバー時に、画像divの中央に表示されるテキストが(css絶対位置を介して)画像のaltプロパティ/要素にあるテキストと同じであることです。
これは、サムネイル画像を含む reg div です。
<div class="imgW"><img src="img src here"/></div>
ロールオーバーのために、jquery経由で追加します:
$('.imgW').prepend('<div class="portSecRollOver">lopan</div>');
したがって、ページのレンダリングでは、次のように出力されます。
<div class="imgW">
<div class="portSecRollOver">lopan</div>
<img src="img src here"/>
</div>
ページの読み込み時に、portSecRollOver は css によって非表示になります。(display:none);
ロールオーバーでは、portSecRollOver が jquery 経由で表示されます。
$('.imgW').mouseover(function(){
$(this).children('.portSecRollOver').css("display","block");
});
等...
上記の同じロールオーバー機能ブロックで、私がやりたかったことは、ロールオーバー時に、portSecRollOver div 内に表示されるテキストがその divs 画像 alt タグの値であることです。
どうすればこれを達成できますか?
私は多くのアプローチを試みましたが、それらはすべて何もないものになりました。それをテストするために console.log を実行すると、常に「未定義」が表示され、正しいdomオブジェクトをターゲットにしていないと想定されます。
何か案は?私は多くの方法を試しましたが、これは私が試したことについてのアイデアを提供するためのものです...
$(this).children('.portSecRollOver').html($(this).children('a img').attr('alt'));
ありがとうございます。