Как выделить ссылки в div при наведении курсора - PullRequest
1 голос
/ 24 сентября 2010

У меня есть div с несколькими ссылками в контенте. Я хотел бы выделить все ссылки в div onmouseover. Есть ли решение jquery, которое работает в FF, IE и Chrome.

Спасибо.

Ответы [ 6 ]

4 голосов
/ 24 сентября 2010

Как насчет JavaScript?

Style.CSS

.linkdiv a {
   color: blue;
}

.linkdiv:hover a {
   color: red;
}

Я хотел это проверить, но, к сожалению, jsfiddle не совместим с iPhone: (

2 голосов
/ 24 сентября 2010

Демо

HTML:

<div id='links'>
    This is simple text<br />
    <a href='#'>Link1<a/><br />
    <a href='#'>Link2<a/><br />
    <a href='#'>Link3<a/><br />
</div>

jQuery:

$('#links').live('mouseover', function(){
    $('#links > a').addClass('highlight');
});

$('#links').live('mouseout', function(){
    $('#links > a').removeClass('highlight');
});

CSS:

.highlight {
 background-color : red;   
}​

Вы можете редактировать часть CSS, чтобы выделить ее в своем любимом стиле.

1 голос
/ 24 сентября 2010

Лучшее решение, насколько мне известно =)

Разметка :

<h1>CSS is cool! </h1>
<ul id="css">
    <li><a class="links" href="#"> Link1 </a></li>  
    <li><a class="links" href="#"> Link2 </a></li>  
    <li><a class="links" href="#"> Link3 </a></li>  
    <li><a class="links" href="#"> Link4 </a></li>
</ul>

CSS :

 #css li { margin:0px 5px;list-style:none; float:left;}
 #css .links { color :#0099f9; text-decoration:none;font:bold 20px Arial;}
 #css:hover a.links { color : #f0f;}
0 голосов
/ 24 сентября 2010

Если я правильно помню, вы должны просто сделать:

$('div selector').hover(function(e) {
    $(this).find('a').doThings();
},
function(e) {
    $(this).find('a').undoThings();
});

Я бы также предложил переключить явный вызов $.hover() (только что приведенный в качестве примера) на использование $.delegate() или$.live().

0 голосов
/ 24 сентября 2010

Дайте всем ссылкам один и тот же класс, а затем сделайте следующее:

$(document).ready(function() {
  $('.someClass').hover(function() {
    $('.someClass').css('underline' : 'solid 1px #FFF');
  });
})
0 голосов
/ 24 сентября 2010

что-то вроде этого (в вашем документе готово) должно это сделать!

$('#MyDiv').live('mouseenter', function(){
    $(this).find('a').addClass('highlight');
});
$('#MyDiv').live('mouseleave', function(){
    $(this).find('a').removeClass('highlight');
});
...