我正在尝试实现这一点:
我有一些类似的东西:
<ul>
<li><a href="#" class="class-1">Link 1</a></li>
<li><a href="#" class="class-2">Link 2</a></li>
<li><a href="#" class="class-3">Link 3</a></li>
</ul>
<img src="img-desc.jpg" class="class-1" />
<img src="img-desc-1.jpg" class="class-2" />
<img src="img-desc-2.jpg" class="class-3" />我希望每次用户将鼠标移到某个ul>li上时,具有匹配类的图像都会显示一个红色边框。我怎么才能相信这一点?
非常感谢大家,我希望你们能帮我解决这个问题。
发布于 2011-01-21 04:11:39
你可以这样做:
示例: http://jsfiddle.net/Q7knH/
$('ul > li').hover(function() {
$('img.' + $(this).children('a').attr('class') ).css('border','2px solid red');
},function() {
$('img.' + $(this).children('a').attr('class') ).css('border','');
});或者,如果您确定<li>元素的<a>周围不会有任何空格,您可以将其缩短一点:
示例: http://jsfiddle.net/Q7knH/1/
$('ul > li').hover(function() {
$('img.' + this.firstChild.className ).css('border','2px solid red');
},function() {
$('img.' + this.firstChild.className ).css('border','');
});或者,如果您希望在<a>上执行悬停操作,请执行以下操作:
示例: http://jsfiddle.net/Q7knH/3/
$('ul > li > a').hover(function() {
$('img.' + this.className ).css('border','2px solid red');
},function() {
$('img.' + this.className ).css('border','');
});https://stackoverflow.com/questions/4752018
复制相似问题