2012-04-26 4 views
1

を表示するために、私は次のjQueryjQueryの、これは一つの要素に

$('td a').hover(function(){ 
    $(this).find('div.productPopUp').show(); 
}); 

このHTML

<td>text</td> 
    <td><a href="#">text</a></td> 
    <div class="productPopUp"> 
    <h1>text</h1> 
    <p>blah, blah</p>       
    </div> 
<td> 

<td>text</td> 
    <td><a href="#">text</a></td> 
    <div class="productPopUp"> 
     <h1>text</h1> 
     <p>blah, blah</p>       
    </div> 
<td> 

を持っている私は、jQueryのが唯一のホバーリンクを表示したいが、それは動作しません。私が間違った場所や間違った状況でこれを使用しているかどうかはわかりません。誰もが正しい方向に私を指すことができますか?

上で推移しているものも呼ば(私はここで使用する、このことを前提と?

おかげ

+2

あなたのマークアップを修正することもできます。各ブロックの後には余分な 'td'タグがあり、' div'タグをランダムにテーブル構造体にドロップしてはいけません。 – Mathletics

+0

jQueryにジャンプする前に、まずHTMLとCSSを少し修正してください。あなたは不足していますタグ –

答えて

0
$('td a').hover(function(){ 
    $(this).parent().next('div.productPopUp').show(); 
}); 
+0

私はすでにそれを試みましたが、うまくいきません。しかし、迅速な返信をありがとう! – webworker

+0

@webworkerあなたのマークアップが間違っています。最初に修正してください – thecodeparadox

+0

私は、テーブル構造内からdivを削除しました。もともとは、迅速かつ汚れたテストとしてそこにあった。まだ回答は出ません。 – webworker

0

多分これ?

$('td a').hover(function(){ 
    $(this).parent().sibling('div.productPopUp').show(); 
}); 
1

ファーストを無効なマークアップが必要な場合は、jQueryが奇妙な無効なマークアップで要素を見つけられるとは限りません。

その後

いくつかのjQuery、多分このような何か:

$('td a').on('mouseenter mouseleave', function() { 
    $(this).parent().parent().find(".productPopUp").toggle(); 
}); 

そして最後にFIDDLE

関連する問題