2012-02-13 2 views
0

Я пытаюсь выбрать изображение внутри ссылки.JQuery не может выбрать изображение внутри ссылки

Jquery:

$('#selskaber img').hover(function() { 
    $(this).next().css({'border' : '1px solid #0167B0 !important'}); 
    }, 
    function() { 
    $(this).next().css({'border' : '1px solid #CCCCCC !important'}); 
    } 
); 

HTML:

<div id="selskaber"> 
    <a target="_blank" href="#"> 
    <img style="border:none;" src="/images.pmg" alt="Telenor"> 
    </a> 
</div> 

UPDATE:

Я удалил следующий(). Тем не менее добавлена ​​граница.

Мой CSS:

#wrap #selskaber a {border:none;margin-left:10px;display:inline-block !important; 
    height: 41px; 
    margin-top: 5px; 
    width: 150px;} 
+1

Возможно, удалите два '.next()' parts help. –

+0

Избавиться от '! Important'. –

ответ

2

Это изображение не имеет никакого брата, поэтому рядом не даст вам ничего.

Если вы пытаетесь выбрать IMG, просто удалите next()

$('#selskaber img').hover(function() { 
    $(this).css({'border' : '1px solid #0167B0 !important'}); 
     }, 
     function() { 
     $(this).css({'border' : '1px solid #CCCCCC !important'}); 
     } 
    ); 

next:

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

+0

Удалили! Важно. Было ли это решение, потому что: hover не работал или img: наведите курсор на CSS. –

+0

@Railsbeginner. Я рад, что это вам помогло. – gdoron

1

Ваш селектор '#selskaber img' уже предоставил вам изображение. Поэтому внутри обратных вызовов наведения, если вам нужно изображение $(this), будет достаточно. Нет необходимости вызывать next:

$('#selskaber img').hover(function() { 
    $(this).css({'border' : '1px solid #0167B0 !important'}); 
}, 
function() { 
    $(this).css({'border' : '1px solid #CCCCCC !important'}); 
}); 
1

Удалить next(), вы уже выбрали img тег:

$('#selskaber img').hover(function() { 
    $(this).css({'border' : '1px solid #0167B0 !important'}); 
    }, 
    function() { 
    $(this).css({'border' : '1px solid #CCCCCC !important'}); 
    } 
); 
9

Гм ... Почему вы используете Javascript здесь?

#selskaber a img{ 
    border:1px solid #ccc; 
} 

#selkskaber a:hover img{ 
    border: 1px solid #0167B0; 
} 

будет делать то же самое и быть совместимым с IE6 без необходимости в JS.

+0

+1 для напоминания о людях css для моделирования –

+0

Хотелось бы, чтобы я мог повышать это число не один раз –

+2

Хотя это совершенно справедливо, он просил использовать способ jQuery. Но я тоже согласен: CSS для стиля. – Tim

1

$(this) В ваших функциях есть <img>. $(this).next() ничего, поэтому просто удалите звонок next().

1

Нет элемента после элемента img. Контекст $(this) относится к элементу img, над которым он витает. Попробуйте удалить next().

$('#selskaber img').hover(function() { 
    $(this).css({'border' : '1px solid #0167B0 !important'}); 
    }, 
    function() { 
     $(this).css({'border' : '1px solid #CCCCCC !important'}); 
    } 
); 
Смежные вопросы