前端框架(一)----------Jquery框架

想起来就很生气,刚刚写两个多小时的博客因为账号过期,发表后不在我账号,丢失了。很气。花了我三小时宝贵时间。现在呢,只能默默的重新写一份。

写了很久的Jquery框架,今天来总结下具体jquery是什么?到底有什么好的功能?

什么是jquery?

jquery是一个优秀的javascript的轻量级框架,它是js的一个框架,它是开源的项目。对底层的js进行封装,我们通过js框架就可以快速的完成DOM 对元素的增删改查操作,并提供了动画功能。jquery对外提供api让开发者去开发jquery插件。jquery的宗旨是write less do more。

Jquery使用的时候注意

我们使用的jquery属于第三方技术,所以使用它的功能需要导入包。

引入:在需要使用jquery的html中使用js的引入方式进行引入

<script type="text/javascript" src="jquery-1.11.2.min.js></script>

 

 

Jquery和javascript有什么区别呢?肯定很多的同事现在还很疑惑。

注意:jquery本质上虽然也是js,但如果使用jquery的属性和方法那么必须保证对象是jquery对象而不是js对象。使用js获取的对象是js对象,使用jquery方式获取的对象是jquery对象。

   <body>

      <input id="myinput" type="text" value="传智播客"/>

   </body>

   <script src="js/jquery-1.8.3.js" type="text/javascript" ></script>

   <script type="text/javascript">

一, js对象只能使用js对象的方法,jquery对象只能使用jquery对象的方法。

①:使用js获取dom对象,value属性是js对象所拥有的。

   var value = document.getElementById("myinput").value;

②:使用jquery来获取  val()这个方法是属于jquery对象的。显然,js对象并没有.val()这个方法

var value2 = $("#myinput").val();

二,jquery对象与js对象之间的转换

注意;需要注意的是:1,js对象是dom对象,jquery对象其实是一个数组,这个数组里放的是一个一个的js的dom对象。

                                  2,jquery对象的命名,一般如果是jquery对象,那么定义变量名的时候就加上$。

①:js对象转换成jQuery对象,语法:$(js对象)

var myinput = document.getElementById("myinput");        //获取js的对象  

var $myinput = $(myinput);                                                 //jquery对象  [object Object]

②:jQuery对象转换成js对象,语法:jquery对象[索引]或jquery对象.get(索引)

var $myinput = $(myinput);                                                 //jquery对象  [object Object]

var mydiv = $mydiv[0]                                                       //我们是通过id获取的标签对象,所以jquery的数组对象中只有一个js                                                                                                   的dom对象,我们获取数组中的第一个值是通过下标0来获取

三, 事件的写法不同,意义相同

①:js的事件的写法:js对象.onclick = function(){ ... ... }

document.getElementById("myinput").onclick = function(){

       alert("弹框");

    }

②:jquery的事件的写法:jquery对象.click( function(){ ... ... } )

$("#myinput").click(function(){

         alert("弹框");

      });

四, js的页面加载完毕与jquery的页面加载完毕

注意:jquery的页面加载完毕事件可以写多次,而js只能写一次,写多次也只 会执行最后一次

①:js的页面加载完毕:window.onload = function(){ ... ... }

window.onload = function(){

      alert("js页面加载事件");

    }

②;jquery的页面加载完毕:$(document).ready(function(){ ... ... })

jQuery(document).ready(

         function(){

            alert("jquery页面加载事件");

         }

      );

简写;

$(function(){

         alert("jquery页面加载事件的简写形式");

      });

 

Jquery的选择器是jquery的主要功能之一,通过jquery选择器获取到这些标签,我们就可以通过jquery中的dom方法来操作这些标签。

jquery常用的选择器有如下:

一,基本选择器,

标签选择器(元素选择器):$("html标签名")

id选择器:$("#id的属性值")

类选择器:$(".class的属性值")

组合选择器:$(“选择器名,选择器名”);

二,层级选择器,

获得A元素内部的所有的B元素:$("A  B ")

获得A元素下面的所有B 子元素:$("A > B")

获得A元素同级  下一个B元素:$("A + B")

获得A元素同级  所有后面B元素:$("A ~ B")

获得A元素同级  所有B元素:$(“A”).siblings(“B”);

三,属性选择器,

获得有属性名的元素:$("A[属性名]")

获得属性名 等于 值 元素:$("A[属性名=值]")

获得属性名 不等于 值 元素:$("A[属性名!=值]")

获得属性名 以 值  开头 元素:$("A[属性名^=值]")

获得属性名 以 值  结尾 元素:$("A[属性名$=值]")

获得属性名 含有 值 元素:$("A[属性名*=值]")

复合属性选择器,多个属性同时过滤:$("A[属性名!=值][属性名!=值][属性名!=值]")

 

Jquery的一些简单Dom的操作

 

一,html代码/文本/值/属性:html()/text()/val()

 jquery对象.html();与js中的innerHTML属性的作用是一样的。

 jquery对象.text();与js中的innerText属性作用一样

 jquery对象.val();与js中的value属性的作用是一样的。

方法中不写参数就是获取值,如果写上参数就是赋值

 

二, html属性操作:attr()/prop()  优先选择attr()

①:如果传递单个参数,那么就是获取属性值

//获取北京节点的id属性值

  var value = $bj.attr("id");

②:如果传递2个参数,就是设置属性的值。

//设置北京节点的name属性的值为dabeijing

  $bj.attr("name","dabeijing");

 

Jquery的遍历在我们前端页面中使用的也是相当的广泛,那么是如何进行遍历操作的呢

一,原始方式遍历

跟java和js一样,既然是数组那么就可以使用原始的for循环进行遍历。

例如:

var $options = $(“option”);

for(var i=0 ; i<$options.length ; i++){

alert(option.value);

}

二,jquery对象的方法

此方式是jquery特有的遍历方式,使用jquery集合对象调用each方法即可遍历。

例如:

var $options = $(“option”);

$options.each(function(index,element){

alert(index); //打印索引

alert(element); //打印$options集合对象中的每一个元素

});

三,jquery的全局方法

此方式是jquery特有的遍历方式,与上面jquery的对象方法相似,但此处的each   方法不是某个具体jquery对象的,而是jquery的全局对象的each方法,名字和功    能虽然相同,但语法不同。

例如:

var $options = $(“option”);

$.each($options,function(index,element){

alert(index); //打印索引

alert(element); //打印$options集合对象中的每一个元素

});

注意:别管是上述的哪种遍历方法,遍历的集合中的每一个元素都是js对象,要想使用    jquery的方法请使用$(js对象)进行转换。

 

Juqery中的常用事件

jquery的事件与js的事件的功能和意义一样,只是在使用语法上稍微有些差异.

   注意:

          *            1.jquery中的事件名与js中事件名相比,是少了on

          *            2.js中的事件如果重复绑定,那么最后一次绑定会将之前绑定的函数全部覆盖

          *               jquery中的事件如果重复绑定,那么效果会叠加出现。

 

在我们Jquery的使用中,有一种常用的方式

function validatePassword(){

         //校验2次输入的密码

         var pwd1 = $("#psw").val();

         var pwd2 = $("#psw2").val();

         if(pwd1==pwd2){

            $("#psw2Span").html("√密码一致").css("color","green");

            return true;

         }else{

            $("#psw2Span").html("×密码不一致").css("color","red");

            return false;

         }

      }

使用上面的方式我们可以在进行ajax校验的时候,在后面文本框进行信息提示。

 

猜你喜欢

转载自blog.csdn.net/weixin_41491254/article/details/81415932