jQuery教程

JQuery:

什么是JQuery?

  JQuery就是一个javascript函数库,没什么特别的.

JQuery能做什么?jQuery是做什么的?

  JQuery本身就是一堆JavaScript函数,JavaScript是做什么的,jQuery也一样.毕竟JQuery只是用JavaScript编写的函数库而已,有些功能JQuery没有封装,则还需要通过自己写JavaScript来实现.

好处:

JQuery的特点?

  Write Less,Do More(写更少(的代码),做更多(的事情))

  ①更好的解决了不同的浏览器兼容问题(IE 6.0+, FireFox 2+, Safari 3.0+, Chrom)css还是有些问题的,对于不同控件具有统一的操作方式.

  ②体积小(几十KB)、使用简单方便(Write Less,Do More)

  ③链式编程$('#div1').draggble().show().hide().fly()

  ④隐式迭代

  ⑤插件丰富、开源、免费.让JavaScript程序风简单、更强大!

JQuery中的顶级对象$:

  JQuery中最常用的对象即$对象,想要使用JQuery的方法必须通过$对象.只有普通的DOM对象封装成JQuery对象,然后才能调用JQuery中的各种方法.

  $是JQuery简写,在代码中可以使用JQuery代替$,但一般为了方便都是用$.

Window.onload事件:

  window.onload一般都是写在<script>标签中的js代码里,众所周知,代码的执行顺序是从上倒下的,如果你的js代码写在你要添加功能的html前边那么,代码执行时,执行到js代码后,没有获取到html,在执行完成后,就会执行html,因此js代码会无效.而添加了window.onload的事件处理函数,它会只有当文档加载完成后,才会执行事件处理函数.所以如果js代码和html代码写在一起了,并且js代码在html代码的上边就必须这样写:window.onload=function(){js代码}.

为什么Jquery对象和DOM对象要互转?

  DOM对象转Jquery对象操作方便,毕竟Jquery中方法都是封装好了的,而且兼容问题解决的很好,代码少,方便. Jquery对象转DOM对象,因为Jquery中文件一直在更新,很多东西都是随着使用而进行封装和升级,不太可能把所有dom中用到的进行封装,还有很多未知的兼容问题没有封装进去,所以,有的时候jquery中不能解决的问题,还需要原生的js代码来解决,所以,jquery对象有的时候需要转成dom对象来进行操作.

Jquery对象和DOM对象互转:

$(function () {
    var bt1=$("#btn")[0];//由jquery对象转成了dom对象
    var bt2=document.getElementById("btn");//对象        
    console.log(bt1==bt2);
});

将dom对象转成jQuery对象,加$就可以了

如何将jquery对象转dom对象

$(function () {
    var dv1 = $("#dv");//由jquery对象转成了dom对象
    var dv2 = document.getElementById("dv");//对象    
//必然报错,为什么?因为jquery对象不能直接调用dom中对象的属性或者是方法    
    dv1.innerHTML = "<p>哈哈</p>";    
    //同理,下面这行代码必然报错,为什么呢?因为dom对象是不能直接调用jquery对象的方法的    
    dv2.html("<p>哈哈</p>");
});

$('#btn')[0]和$('#btn').get(0)都可以转dom对象, $(dom对象)及可转jquery对象

案例:(网页开关灯)

DOM写法:

$(function () {
    $("#btn").click(function () {
        if($(this).val()=="开灯") {                    
              $("body").css("backgroundColor", "black");              
              $(this).val("关灯");
        }else{
            $("body").css("backgroundColor", "");
           $(this).val("开灯");
        }
    });
});
        

JQuery写法:

$("#btn").click(function () {
        if(this.value=="开灯") {
            $("body")[0].style.backgroundColor="black";
            this.value="关灯";
        }else{
            $("body")[0].style.backgroundColor="";
            this.value="关灯";
        }
    });
});

由此可见JQuery比DOM写法简便很多.

JQuery中的选择器:

选择器:就是为了获取元素进行操作.

DOM中获取元素的方式:

document.getElementById();    //通过id来获取元素
document.getElementByTagName(); //通过标签名来获取元素
document.getElementByClassName();//通过class类来获取元素

JQuery中获取元素的方式

$("#btn");//通过id获取元素
$("div"); //通过标签名来获取元素
$(".cls") //通过class类名来获取元素

由此可见DOM中选择器代码多、长、麻烦,而JQuery中简单,并且方便。

下边介绍些JQuery中的一些特殊选择器写法:

比如点击按钮设置页面上应用cls类样式li标签的背景颜色就可以用:
$(li.cls);  //标签加类选择器

比如点击一个按钮,设置页面中的span标签,li标签,div标签的背景颜色就可以使用:
$(span,li,div)  //多条件选择器

层级选择器:

后代选择器(子元素中元素,子,仔仔,孙)$(“#dv li”)或者$(“ul li”)或者$(“.cls li”)

$("#dv li").css("backgroundColor","red");//给id叫dv的所有li元素设置背景颜色为红色(只要是这个div里面的li就都变色)

子代选择器(直接的所有子元素,儿子) $(“#ul>li”)或者$(“div >span”)或者$(“.cls >li”)

$("#dv>li").css("backgroundColor","red");//给id叫dv的元素里面的li元素设置背景颜色为红色(如果里面还有嵌套,嵌套里面的li不变色)

索引选择器:

$("#u1 li:eq(7)").css("backgroundColor","red");// 获取索引为7的元素
$("#u1 li:gt(7)").css("backgroundColor","green");//索引大于7的所有元素
$("#u1 li:lt(5)").css("backgroundColor","black"); //索引小于5的所有的元素

运行结果:

JQuery中的常见方法

.html()方法,设置标签中间显示其他标签及内容,类似于innerHTML

.text()方法,设置标签中间显示的文本内容,类似于innerText

.val()方法,设置input标签中value的值,类似于value

.css()方法,设置元素的样式,类似于style

注意:

()中写字符串,一个参数,就是要设置的值,什么也不写,返回的是这个属性的值

.css()写的是键值对

今天就先总结到这吧!有缘下次再见

原文地址:https://www.cnblogs.com/zx0303/p/8067806.html