jQuery提供了用于样式操作的两种方式,分别是css()方法和设置类样式的方法,前者通过css()方法直接操作元素的样式,如width、height等,后者通过给元素添加或删除类名来操作元素的样式。下面我们分别进行详细讲解。
通过css()方法修改样式
jQuery可以使用css()方法来修改简单元素样式;也可以操作类,修改多个样式。下面我们首先对css()方法进行详细讲解。
- 获取样式
css()方法接收参数时只写样式名,则返回样式值。下面我们通过代码演示。
<style>
div{
width: 200px;
height: 200px;
background-color: 'pink';
}
</style>
<div></div>
<script>
console.log($("div").css("width")); // 结果为:200px
</script>
上述代码中,第2行代码设置div元素样式宽度为200px,高度为200px,背景色为pink。第4行代码定义div元素。第6行代码用来获取div元素的宽度并在控制台中输出结果。
- 设置单个样式
css()接收的参数是属性名和属性值,以逗号分隔,是设置一组样式,属性必须加引号,值如果是数字可以不用跟单位和引号。下面我们通过代码进行演示。
<script>
$("div").css("width", "300px"); //设置width为300px
console.log($("div").css("width")); //结果为:300px
</script>
上述代码中,第2行代码重新设置div元素的宽度为300px。第3行代码输出结果300px。
- 设置多个样式
css()方法的参数可以是对象形式,方便设置多组样式。样式名和样式值用冒号隔开,样式名可以不用加引号。下面我们通过代码演示。
$("div").css({
width: 400,
height: 400,
backgroundcolor: "red" //属性名可以不加引号,但需要用驼峰法书写
});
上述代码中,设置了div元素宽度为400px,高度为400px,背景色为红色。
jQuery修改类
类操作就是通过操作元素的类名进行元素样式操作,当元素样式比较复杂时,如果通过css()方法实现,需要在CSS里编写很长的代码,既不美观也不方便。而通过写一个类名,把类名加上或去掉就会显得很方便。下面我们通过代码演示类的添加、删除和切换。
1.准备工作
先准备一个HTML网页,然后用jQuery代码对网页进行操作。HTML代码如下。
<style>
.current {background-color: red;}
</style>
<div>添加类名</div>
<div class="current">删除类名</div>
<div class="current">切换类名</div>
2. addClass()添加类
addClass()方法向被选元素添加一个或多个类名,基本语法如下所示。
$(selector).addClass(className)
上述代码中,className表示要添加的类名。示例代码如下。
<script>
$("div").click(function(){
$(this).addClass("current");
});
</script>
上述代码执行后,单击页面中的“添加类名”按钮,就会在div元素上添加current类名,背景色修改为红色。
如果添加多个类,使用空格分隔类名,示例代码如下。
$(this).addClass("current currentl…");
3. removeClass()移除类
removeClass()方法从被选元素移除一个或多个类,基本语法如下所示。
$ (selector).removeClass(className)
上述代码中,className参数可以传人一个或多个类名,使用空格来分隔,如果省略该参数,表示移除所有的类名。下面我们通过代码演示。
<script>
$("div").click(function(){
$(this).removeClass("current");
});
</script>
上述代码执行后,单击页面中的“删除类名”按钮,在div元素上的current类名会被移除,背景色消失。
4. toggleClass()切换类
toggleClass()方法用来为元素添加或移除某个类,如果类不存在,就移除该类。基本语法如下所示。
$(selector).toggleClass(className,switch)
上述代码中,className表示添加或移除的一个或多个类名,多个类名用空格分隔;switch参数用来规定只删除类或只添加类,设为true表示添加,设为false表示移除。
下面我们通过代码演示 toggleClass()的使用。
<script>
$("div").click(function(){
$(this).toggleclass("current");
});
</script>
上述代码执行后,单击页面中的“切换类名”按钮,当div元素上存在current类名时,则被移除,否则就添加。可以实现字体背景色的切换效果。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。