当前位置:  开发笔记 > 编程语言 > 正文

jQuery悬停和类选择器

如何解决《jQuery悬停和类选择器》经验,为你挑选了5个好方法。

我不想使用以下HTML,CSS和javascript动态地更改div的背景颜色.HTML:


CSS:

.menuItem{
  display:inline;
  height:30px;
  width:100px;
  background-color:#000;

使用Javascript:

$('.menuItem').hover( function(){
     $(this).css('background-color', '#F00');
},
function(){
     $(this).css('background-color', '#000');
});

编辑:我忘了说我有理由不想使用css方式.

我确实忘了检查DOM是否已加载.



1> foxy..:

你的代码看起来很好.

在使用jQuery的$(回调)函数执行javascript之前,请确保DOM已准备就绪:

$(function() {
   $('.menuItem').hover( function(){
      $(this).css('background-color', '#F00');
   },
   function(){
      $(this).css('background-color', '#000');
   });
});



2> Vincent Robe..:

我建议不要使用JavaScript进行这种简单的交互.CSS能够做到这一点(即使在Internet Explorer 6中),它比使用JavaScript做得更响应.

您可以使用":hover"CSS伪类,但为了使其适用于Internet Explorer 6,您必须在"a"元素上使用它.

.menuItem
{
    display: inline;
    background-color: #000;

    /* width and height should not work on inline elements */
    /* if this works, your browser is doing the rendering  */
    /* in quirks mode which will not be compatible with    */
    /* other browsers - but this will not work on touch mobile devices like android */

}
.menuItem a:hover 
{
    background-color:#F00;
}



3> foxy..:

这可以使用:hover伪类在CSS中实现.(:hover对

IE6中的s 不起作用)

HTML:


CSS:

.menuItem{
  height:30px;
  width:100px;
  background-color:#000;
}
.menuItem:hover {
  background-color:#F00;
}



4> okoman..:

的test.html




    
        jQuery Test
        
        
        
    
    
        
    

test.css

.menuItem
{

    display: inline;
    height: 30px;
    width: 100px;
    background-color: #000;

}

test.js

$( function(){

    $('.menuItem').hover( function(){

        $(this).css('background-color', '#F00');

    },
    function(){

        $(this).css('background-color', '#000');

    });

});

作品:-)



5> Justin Lucen..:

由于这是一个菜单,不妨将它提升到一个新的水平,并清理HTML,并使用list元素使其更具语义:

HTML:

  

CSS:

#menu {
  margin: 0;
}
#menu li {
  float: left;
  list-style: none;
  margin: 0;
}
#menu li a {
  display: block;
  line-height:30px;
  width:100px;
  background-color:#000;
}
#menu li a:hover {
  background-color:#F00;
}

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有