2014-10-07 5 views
-3

Я пытаюсь настроить таргетинг на изображение родителя родителя родителя моей кнопки.Целевой div в родительском элементе родителя родителя

Пробовал:

$(event.target).parents().eq(2).$("img").css("opacity", .3);

$(event.target).parent().parent().parent().$("img").css("opacity", .3);

$(event.target).parent().parent().parent("img").css("opacity", .3);

Edit: просто понял, что это родитель родителя, но даже изменить соответствующим образом, приведенный ниже код до сих пор не работает.

вот HTML:

<div> 
<div> 
<button type="button" class="page3">Read more</button></div> 
</div> 
<img src="img/imgs-slides/3.png" border="0" alt=""> 
</div> 

ЯШ:

$("button.page3").click(function(event) { 
$(event.target).parents().eq(1).$("img").css("opacity", .3); //doesnt work 
$(event.target).closest("img").css("opacity", .3); //neither 
} 
+3

[ '.closest()'] (HTTP: //api.jquery .com/closeest /), вероятно, будет лучше для этого. –

+3

Можете ли вы опубликовать фактическую структуру HTML? – tymeJV

ответ

3

Если это структура HTML

<div> 
    <img src="http://placehold.it/100x100"/> 
    <div> 
     <div> 
      <button id="btn">Test</button> 
     </div> 
    </div> 
</div> 

Затем вы можете выбрать изображение и изменить CSS этим

$(event.target).parent().parent().parent().find('img').css('opacity', '.3'); 

Или просто

$(event.target).parents('div').find('img').css('opacity', '.3'); 

Как отмечалось в комментариях по @ Jony-Y

DEMO: http://jsfiddle.net/pv6081cz/

+2

Почему бы не использовать родителей? $ (event.target) .parents ("div"). Find ('img'). Css ('opacity', '.3'); –

+0

Это тоже сработало, я просто пытался объяснить, что op не использовал правильное количество «родительских», а не правильный способ найти тег IMG. Я обновил ответ e, чтобы включить ваше предложение –

Смежные вопросы