2013-10-10 6 views
0

Это мой JQuery код ...Как выбрать IMG внутри TD?

<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); 
} 

Я хочу -Любые- образ, который я имею в таблицу «gallery», чтобы изменить непрозрачность до 1.0, когда я выполняю наведение мыши. Я уверен, что мой синтаксис неверен. Могу ли я делать то, что хочу? Я не хочу указывать классы для каждого изображения.

+0

JQuery селекторы внимательно следить за синтаксис селекторов CSS. Если вы сомневаетесь, относитесь к нему так, как будто вы пишете селектор css в своей таблице стилей. –

+0

Это действительно очень полезный комментарий. Я обязательно буду помнить об этом в будущем, спасибо! – Fingeldor

+0

Любой селектор, который больше, чем «#theid», «theclass» или «theTagName», передается в 'document.querySelectorAll()', если селектор не содержит пользовательских селекторов jQuery. Поэтому в большинстве случаев это буквально один и тот же синтаксис. –

ответ

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; 
} 
Смежные вопросы