1

私は次のjQueryを持っています

$('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 でホバーしたリンクだけを表示したいのですが、うまくいきません。これを間違った場所または間違ったコンテキストで使用しているかどうかはわかりません。(私はこれを仮定しました。

誰かが私を正しい方向に向けることができますか?

ありがとう

4

3 に答える 3

1

まず、有効なマークアップが必要です。jQuery は、奇妙で無効なマークアップの要素を常に見つけることができるとは限りませんか?

<table>
    <tr>
       <td>text</td>
       <td><a href="#">text</a></td>
       <td class="productPopUp">
          <h1>text</h1>
          <p>blah, blah</p>                          
       </td>
    </tr>
    <tr>
    <td>text</td>
         <td><a href="#">text</a></td>
         <td class="productPopUp">
           <h1>text</h1>
           <p>blah, blah</p>                           
         </td>
    </tr>
​&lt;/table>​​​​​​​​​​

次に、いくつかのjQuery、次のようなものかもしれません:

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

そして最後にフィドル

于 2012-04-26T15:23:13.093 に答える
0
$('td a').hover(function(){
  $(this).parent().next('div.productPopUp').show();
});
于 2012-04-26T14:55:38.450 に答える
0

もしかしてこれ?

$('td a').hover(function(){
  $(this).parent().sibling('div.productPopUp').show();
});
于 2012-04-26T15:00:19.977 に答える