Выберите родителя при наведении курсора с помощью jQuery - PullRequest
6 голосов
/ 08 ноября 2011

Я пытаюсь изменить CSS .target, который является родителем родителя .hover.Не получается заставить этот код работать - я не уверен, что мне нужно $ (this) в начале моей функции или $ ('. Target') ... Я думаю, что это может быть .target, потому что этоэто то, что я изменяю CSS с .css().

<script type="text/javascript">
$(document).ready(function() {
    $('.hover').hover(
        function(){
            $(this).parent().siblings('.target').css('display', 'inline');
        },
        function(){
            $(this).parent().siblings('.target').css('display', 'none');
        }
    );
});
</script>

И вот моя догадка (которая также не работает):

$('.target').parent(this).sibling().css('display', 'inline');

А вот HTML

<div class="target" style="display: none;">
</div>
<div>
    <span class="hover">Hover</span>
</div>

РЕДАКТИРОВАТЬ ----------------- Кажется, что он не работает, когда span равен class="hover".

РЕДАКТИРОВАТЬ Numberro Dos -------------------- Кажется, у меня были <span> два родителя глубокие и нужны .parent().parent() Спасибо.

Ответы [ 3 ]

8 голосов
/ 08 ноября 2011

Предполагая, что ваш HTML соответствует вашим ожиданиям, и, не видя его, я не могу комментировать улучшения, это должно работать:

$('.target').parent().siblings('.target').css('display', 'inline');

Или, если элемент .target является следующим братом:

$('.target').parent().next('.target').css('display', 'inline');

Или, если предыдущий брат (и из HTML, который вы опубликовали, - предыдущий брат):

$('.target').parent().prev('.target').css('display', 'inline');

Ссылки:

5 голосов
/ 08 ноября 2011

Andy, проверь эту скрипку, похоже, у тебя правильный код в первом примере, который ты опубликовал.Если бы вы могли опубликовать свой HTML, мы могли бы лучше помочь.http://jsfiddle.net/nKtzB/3/

0 голосов
/ 08 ноября 2011

Попробуйте использовать display:block вместо этого, если вы пытаетесь что-то сделать с блоком.

Ваш код все еще в порядке, см .: http://jsfiddle.net/Mx4ks/1/


Что-то еще должнобыть неправым .. Попробуйте вставить свой HTML тоже:)

Смотрите свой собственный код в действии здесь: http://jsfiddle.net/Mx4ks/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...