2012-04-26 37 views
1

我已经jQuery的的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只显示悬停链接下面,但它不工作。我不确定我是否在错误的地方或错误的环境中使用它。 (我假定这一点,这里使用的简称是什么上空盘旋?

任何人都可以点我在正确的方向?

感谢

+2

您可能需要修正你的标记。你在每个块之后都有额外的'td'标签,你不应该把'div'标签随机丢弃到表格结构中。 – Mathletics 2012-04-26 14:59:26

+0

在跳转到jQuery之前,先修正一下你的HTML和CSS。你错过了标签 – 2012-04-26 16:02:06

回答

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

我已经试过了,但它不起作用。感谢您尽快回复..! – webworker 2012-04-26 14:57:31

+0

@ webworker你的标记是错误的。让我们先纠正它 – thecodeparadox 2012-04-26 15:08:04

+0

我已经从表结构中删除了div。它最初是作为一个快速和肮脏的测试。但给出的答案仍然不起作用。 – webworker 2012-04-26 15:17:54

0

也许这?

$('td a').hover(function(){ 
    $(this).parent().sibling('div.productPopUp').show(); 
}); 
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> 
​</table>​​​​​​​​​​ 

那么一些jQuery的,这样的事情也许:

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

而且最后一个FIDDLE