た後で、テーブル内のすべてのTRを取得します'head'がマウスオーバーして同じテーブルにあるすべての 'attributeVal'クラスを表示するときです。私は$( '。attributeVal')を実行するので、ページにある 'attributeVal'にすべて影響します。jQueryのは、私は同じページに次のようないくつかのテーブルをしたTR
また、そのテーブルを離れると、現在のテーブルのすべての 'attributeVal'がhide()になります。
ありがとうございました。
た後で、テーブル内のすべてのTRを取得します'head'がマウスオーバーして同じテーブルにあるすべての 'attributeVal'クラスを表示するときです。私は$( '。attributeVal')を実行するので、ページにある 'attributeVal'にすべて影響します。jQueryのは、私は同じページに次のようないくつかのテーブルをしたTR
また、そのテーブルを離れると、現在のテーブルのすべての 'attributeVal'がhide()になります。
ありがとうございました。
この方法は、マウスオーバーに行を示し、そして離れてホバリングするときにそれらを隠し。行を表示したままにする場合は、.toggle()
を.show()
に置き換えます。 mouseleave
とmouseover
を使用して
$('table').mouseleave(function() {
$(this).find('.attributeVal').hide();
});
$('.head').mouseover(function() {
$(this).nextAll('.attributeVal').show();
});
。
デモ:http://jsfiddle.net/t7CWp/(jQuery 1.5.1でも動作します)
だけ現在のテーブル内の一致する要素を選択するように、コンテキストとして.attributeVal
セレクタに含まれている表を渡し:
$(".head").mouseover(function() {
$(".attributeVal", $(this).closest("table")).show();
});
.siblings()メソッドを探しています。すべての兄弟を選択します(オプションのセレクタに一致します)。テーブルを離れるときにのみ、テーブルの上にmouseleave
イベントを使用する要素を非表示にする
:
$('.head').on('mouseover',function() {
$(this).siblings('.attributeVal').show();
})
$('table').on('mouseleave',function() {
$(this).find('.attributeVal').hide();
});
あなたがここにアクションでそれを見ることができます:http://jsfiddle.net/ATWFH/
また代わりのページ.attributeVal
を非表示にしますCSSでロードすると、CSSを直接非表示にすることができます。
<style>
.attributeVal { display: none; }
</style>
それは動作しません、私は理由を調べようとしています。私は1.51、私は1.72に更新されます – Nir
あなたには1つの問題がありますr回答(皆さん)。問題は、現在のテーブルで 'attributeVal'が必要なことです。マウスがテーブルを離れるとhide()が表示されます( 'head'だけでなく)。 – Nir
@nir私たちは読者ではありません。正確な要件で質問を更新できますか? –
@nir私は自分の答えを更新しましたので、あなたが望むものを正確に行います(jsfiddle参照) – Wulf