jQuery入门(一)--jQuery介绍

jQuery 语法是为 HTML 元素的选取编制的,可以对元素执行某些操作。
1配置环境

 <head> <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script></head>

2基础语法是:

$(selector).action()
  • 美元符号 $ 定义 jQuery。
  • 选择符(selector)“查询”和“查找” HTML 元素。
  • jQuery 的 action() 执行对元素的操作。

另外需要注意的是:在 jQuery 库中 $ 符号就是 jQuery 的一个简写形式,例如'$("#syl")''jQuery("#syl")' 是等价的,$.ajaxjQuery.ajax 是等价的,如果没有特别说明,程序中的 $ 符号都是 jQuery 的一个简写形式。

3 文档就绪函数
所有 jQuery 函数位于一个 document ready 函数中:

$(document).ready(function(){

});

// 可以简写成

$(funciton(){

});

这是为了防止文档在完全加载(就绪)之前运行 jQuery 代码。如果在文档没有完全加载之前就运行函数,操作可能失败。

上面的这段代码其实有点类似于传统 JavaScript 中的 window.onload 方法,不过它们还是有一些区别的,简单对比如下所示:

window.onload$(doucment).ready()
执行时机必须等待网页中所有的内容加载完毕后才能执行(包括图片)网页中所有 DOM 结构绘制完毕后就执行,可能 DOM 元素关联的东西并没有加载完
编写个数不能同时编写多个能同时编写多个

4例子


```javascript
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
		<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
    </head>
    <body>
        <div class="box">
            <ul class="menu">
                <li class="level1">
                    <a href="#">春天</a>
                    <ul class="level2">
                        <li>春意盎然</li>
                        <li>春意盎然</li>
                        <li>春意盎然</li>
                        <li>春意盎然</li>
                    </ul>
                </li>
                <li class="level1">
                    <a href="#">夏天</a>
                    <ul class="level2">
                        <li>夏日炎炎</li>
                        <li>夏日炎炎</li>
                        <li>夏日炎炎</li>
                        <li>夏日炎炎</li>
                    </ul>
                </li>
                <li class="level1">
                    <a href="#">秋天</a>
                    <ul class="level2">
                        <li>秋高气爽</li>
                        <li>秋高气爽</li>
                        <li>秋高气爽</li>
                        <li>秋高气爽</li>
                    </ul>
                </li>

            </ul>
        </div>
        <script type="text/javascript">
            //等待dom元素加载完毕
            $(document).ready(function() {
                $(".level1>a").click(function() {
                    $(this).addClass("current").next().show().parent().siblings().children("a").removeClass("current").next().hide();
                    return false;
                })
            });
        </script>
    </body>
</html>

简单解释一下这段代码,当鼠标点击到 a 标签的时候给其添加一个名为 current 的 class,然后调用 next()show() 将其后面的元素显示出来,然后调用 parent()、siblings()、children("a") 将它的父辈的同辈元素的内部的子元素 a 都去掉一个名为 current 的 class (removeClass("current")),并且将紧邻它们后面的元素都隐藏。

这就是 jQUery 的强大的链式操作,但为了进一步改善代码的可读性和可维护性,推荐一种写法:

$(document).ready(function() {
    $(".level1>a").click(function() {
        $(this).addClass("current")//给当前元素添加"current"样式
        .next().show()//下一个元素显示
        .parent().siblings().children("a").removeClass("current")//父元素的同辈元素的子元素a移除"current"样式
        .next().hide();//它们的下一个元素隐藏
        return false;
    })
});

5jQuery对象和dom对象
DOM (Document Object Model)对象,也就是我们经常说的文档对象模型,每一份 DOM 都可以表示成一棵 DOM 树:
在这里插入图片描述
h1,p,ul 以及 li 标签都是 DOM 元素节点,我们可以通过 JavaScript 中的 document.getElementById(),document.getElementsByTagName() 等来获取元素节点,像这样获取的 DOM 元素就是 DOM 对象,DOM 对象可以使用 JavaScript 中的方法,比如:

document.getElementById("syl").innerHTML;

jQuery 对象就是通过 jQuery 包装 DOM 对象后产生的对象。jQuery 对象是 jQuery 独有的,如果一个对象是 jQuery 对象,那么它就可以使用 jQuery 里的方法,比如

$("#syl").html();//获取id为syl的元素内的html代码,html()是jQuery中的方法

我们一定要从开始就树立这样的一个观念:jQuery 对象和 DOM 对象是有区别的,它们并不是等价的。 jQuery 对象中无法使用 DOM 对象中的任何方法,反之亦然。
jQuery 对象和 DOM 对象之间的相互转换

1.jQuery 对象转换为 DOM 对象

  • [index]:jQuery 对象是一个类似数组的对象,可以通过 [index] 的方法得到对应的 DOM 对象,比如:
var $cr = $("#cr");//jQuery 对象
var cr = $cr[0];//DOM 对象
  • 通过 get(index) 方法得到相应的 DOM 对象,比如:
var $cr = $("#cr");//jQuery 对象
var cr = $cr.get(0);//DOM 对象

2.DOM 对象转换为 jQuery 对象

  • 对于一个 DOM 对象,只需要用 $() 把 DOM 对象包装起来,就可以获得一个 jQuery 对象了,比如:
var cr = document.getElementById("cr");//DOM 对象
var $cr = $(cr);//jQuery 对象

我们平时用到的 jQuery 对象都是通过 () 函数制造出来的,()函数制造出来的,() 函数就是一个 jQuery 对象的制造工厂。
DOM 方式判断复选框是否被选中:

 if(cr.checked){//DOM方式判断
                        alert('你已同意本协议');
                        }

jQuery 方式判断复选框是否被选中:

 if($cr.is(":checked")){
                        alert('你已同意本协议');
                        }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值