2013-10-10 35 views
0

这是我的jQuery代码...如何在TD内选择IMG?

<script> 
    $(document).ready(function(){ 
    $("gallery", Image).hover(function(){ 
     $(this).stop().animate({ opacity: 1.0 }, 800); 
    }); 
    }); 
</script> 

我的HTML ...

<table class="gallery"> 
    <tr> 
    <td>     
     <img src="photo.jpg"> 
    </td> 
    </tr> 
</table> 

我的CSS ...

.gallery img { 
    opacity: 0.5; 
    filter: alpha(opacity=50); 
} 

我想-any-像我在当我执行鼠标悬停时,表格“图库”将不透明度更改为1.0。我确定我的语法错了。我可以做我想做的事吗?我不想为每个图像指定类。

+0

jQuery选择紧跟CSS选择器语法。如果有疑问,就像在编写样式表中写入CSS选择器一样对待它。 –

+0

这实际上是一个非常有用的评论。我一定会在将来记住这一点,谢谢! – Fingeldor

+0

只要选择器不包含任何jQuery自定义选择器,任何超过“#theid”,“theclass”或“theTagName”的选择器都将传递给'document.querySelectorAll()'。因此,在大多数情况下,它实际上是相同的语法。 –

回答

2

你必须在一开始就指定与.一类,那么以后在你的引号里的东西会子元素:

$(".gallery img").hover(function(){ 
2

你可以使用JavaScript这样做,但它远远更容易做CSS。只需添加:

.gallery img { 
    opacity:0.5; 
    transition: all 0.25s ease; 
} 

.gallery img:hover { 
    opacity:1; 
} 
+0

因为我想让它变成动画,而不仅仅是改变不透明度。 – Fingeldor

+0

添加转换 –

+0

谢谢,但我会担心浏览器不支持转换(IE9及更低版本)。 – Fingeldor

0

改变这一行:

$("gallery", Image).hover(function(){ 

这样:

$(".gallery img").hover(function(){ 
0

SHOW DEMO

jQuery的

$(document).on({ 

    mouseenter: function() { 

     $(".gallery img").stop().animate({ opacity: 1.0 }, 800); 

    }, 
    mouseleave: function() { 

     $(".gallery img").stop().animate({ opacity: 0.5 }, 800); 
    } 
}, "#gal"); 

HTML

<table id="gal" class="gallery"> 
    <tr> 
     <td>     
      <img src="img"> 
     </td> 
    </tr> 
</table> 

CSS

.gallery img { 

    opacity: 0.5; 
}