jQuery 多库共存与修改样式方法

简介: jQuery 多库共存与修改样式方法

  今天这篇文章是 jQuery API 的第三篇,今天心情很好,因为破了300粉,希望所有代码人前端人在编程与写作的路上都能一帆风顺,全都早日拿认证。okk言归正传,这篇文章将带大家走进链式编程的世界,这也是 jQuery 的一个大大大大优点,其可以使代码的可读性,简洁性都得到进一步的升华,让你进入更高一层境界的代码世界。

        还有一个就是对于样式的修改的进一步说明,不再单单的是一个 css 方法,我们会在这篇文章接触到 样式操作类 与 更多的样式操作方法。

                          -------   接下来让我们进入代码世界   -------

文章目录:

一:链式编程

什么是链式编程?:

链式编程的实现原理:

链式编程示例:

二:样式修改的操作  

一:操作 css 方法

1.参数只写属性名

2.参数为属性值与属性名,中间逗号隔开

3.参数为对象形式,以方便设置多组样式  

二:操作类修改样式

其主要有三个样式类方法:

1.addClass(‘类名’)

2.removeClass(‘类名’)

3.toggleClass(‘类名’)  

三:jQuery 的类操作 和 原生 className 操作的区别:  

一:链式编程

什么是链式编程?:

       链式编程 与 隐式迭代 是 jQuery 的两大特点,链式编程其实我们根据字面意思已经能想象到了,像链子一样串在一起,就是链式,那在编程领域,就是将多个分开的代码连接在一起书写的意思啦?不错,正是这样,记得我们的排他思想案例吗,我们当时的做法是第一个css设置点击的元素本身,第二个css设置点击元素的兄弟元素,其实此处就可以用链式编程思想将两行代码连起来,可见链式编程的好处是减少了代码冗余,增加了简洁性。

链式编程的实现原理:

      在当前对象调用完第一个方法后,便会返回一个 jQuery 对象,这个对象就可以继续接着调用其他方法,这就是链式编程的基本实现原理。

链式编程示例:

     我们还是举例排他思想按钮作为案例,并且对比不用链式编程的代码冗余量:

//不使用链式编程

<script>

       $('button').click(function(){

           $(this).css('background','red')

           $(this).siblings('button').css('background','')

       })

</script>

 

//使用链式编程

<script>

       $('button').click(function(){

           $(this).css('background','red').siblings('button').css('background','')

       })

</script>

二:样式修改的操作  

一:操作 css 方法

操作css方法有以下几种:

参数只写属性名:返回结果为属性值

参数为属性值与属性名,中间逗号隔开

参数为对象形式,写在花括号里,键值对形式,以方便设置多组样式

1.参数只写属性名

返回结果为属性值

<div></div>

 <script>

     $('div').click(function(){

        console.log($(this).css('backgroundColor'));  

     })

 </script>

2.参数为属性值与属性名,中间逗号隔开

结果为产生想要修改的样式效果 ( 此处点击前为红色 )

<body>

 <div></div>

 <script>

     $('div').click(function(){

         $(this).css('backgroundColor','pink');  

     })

 </script>

</body>

3.参数为对象形式,以方便设置多组样式  

注意样式卸载花括号里,以键值对形式书写,并且复合属性要采用驼峰命名法

<body>

 <div></div>

 <script>

     $('div').click(function(){

        $(this).css({'backgroundColor':'pink',

                     'border':'2px solid'});  

     })

 </script>

</body>

二:操作类修改样式

等同于原生 js 的 classList 和 className

其主要有三个样式类方法:

addClass(‘类名’):添加类名

removeClass(‘类名’):删除类名

toggleClass(‘类名’):切换类名

1.addClass(‘类名’)

作用为添加类名,此处就点击后添加了 current 类

   <style>

       div{

           width: 300px;

           height: 300px;

           background-color: rgb(255, 146, 146);

       }

       .current{

           background-color: rgb(0, 160, 246);

       }

   </style>

   <script src="./jquery.js"></script>

</head>

<body>

 <div></div>

 <script>

     $('div').click(function(){

        $(this).addClass('current')

     })

 </script>

点击后div的 多了类名current

 

2.removeClass(‘类名’)

作用为删除类名,此处就点击后就删除了原有类名

   <style>

       .current{

           width: 300px;

           height: 300px;

           background-color: rgb(0, 160, 246);

       }

   </style>

   <script src="./jquery.js"></script>

</head>

<body>

 <div class="current"></div>

 <script>

     $('div').click(function(){

        $(this).removeClass('current')

     })

 </script>

</body>

点击后删除了 div 的类名 current

3.toggleClass(‘类名’)  

这个方法其实可以做到一种类名切换的效果,它其实是判断有没有这个类名,有就删掉,没有就添加

       div{

           width: 300px;

           height: 300px;

           background-color: rgb(255, 146, 146);

       }

       .current{

           width: 300px;

           height: 300px;

           background-color: rgb(0, 160, 246);

       }

   </style>

   <script src="./jquery.js"></script>

</head>

<body>

 <div class="current"></div>

 <script>

     $('div').click(function(){

        $(this).toggleClass('current')

     })

 </script>

</body>

点击后会在两个类间来回切换,有 current 则删除,没有则添加这个类名

三:jQuery 的类操作 和 原生 className 操作的区别:  

        原生的className是将原先的类名覆盖掉的,而 jQuery的类方法(addClass等等)是将类名追加在原有类的基础上

相关文章
|
2月前
|
JavaScript
jQuery 遍历 方法
jQuery 遍历 方法
33 5
|
1月前
|
XML JavaScript 数据格式
jquery中html()方法的使用
jquery中html()方法的使用
19 1
|
1月前
|
前端开发 JavaScript
jQuery - AJAX load() 方法
jQuery load() 方法是简单但强大的 AJAX 方法。
47 6
|
2月前
|
JavaScript 前端开发
jQuery 杂项方法
jQuery 杂项方法
30 2
|
2月前
|
JavaScript
jQuery 效果 方法
jQuery 效果 方法
15 3
|
2月前
|
JavaScript 前端开发
jQuery - noConflict() 方法
jQuery - noConflict() 方法
22 5
|
2月前
|
JSON 前端开发 JavaScript
jQuery AJAX 方法
jQuery AJAX 方法
32 1
|
2月前
|
XML 前端开发 JavaScript
jQuery HTML / CSS 方法
jQuery HTML / CSS 方法
15 2
|
1月前
|
存储 JSON JavaScript
jQuery 方法大全
jQuery 方法大全
11 0
|
2月前
|
JavaScript
jQuery 事件 方法
jQuery 事件 方法
15 0