我试图使用Jquery悬停功能来更改某些选项卡的字体大小。我认为我无法定位标签。
这是我试图定位的HTML:
<ul class="tabs" data-tab>
<div class="tab">
<li class="tab-title">
<a href="#panel2-1">ABOUT ME</a>
</li>
<li class="tab-title">
<a href="#panel2-2">PORTFOLIO</a>
</li>
</div>
</ul>
我只是尝试将两个标签包装在div标签中,并为div标签分配一个名为“tab”
的标签这是我的Jquery代码:
$(document).ready(function() {
$('.tab').hover(function() {
$(this).css('font-size','60px')
});
});
有人可以告诉我,我做错了什么?谢谢!
答案 0 :(得分:2)
DIV
内不允许使用 UL
元素,这是您的第一个错误,应该是:
<ul class="tabs" data-tab>
<!-- no party for DIV elements here -->
<li class="tab-title"><a href="#panel2-1">ABOUT ME</a></li>
<li class="tab-title"><a href="#panel2-2">PORTFOLIO</a></li>
</ul>
.hover()
永远不会将我们的文字返回到默认状态,因为.hover()
方法实际上会侦听mouseenter
和mouseleave
,所以在mouseleave上再次重新启动将其设置为60px
.tabs li:hover a{ /* Or use>> .tabs a:hover */
font-size: 60px;
}
如果你真的对jQuery感兴趣只是为了好玩而不是:
$('.tabs li').hover(function( e ) { // or simply '.tab-title'
$("a", this).css('font-size', e.type=="mouseenter"? 60 : "inherit"); // or 56
});
同样使用jQuery,您不需要设置px
因为默认情况下会使用 px ,除非设置了其他单位。