欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

jQuery入门(一)--jQuery介绍

程序员文章站 2024-03-05 15:00:36
...

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 树:
jQuery入门(一)--jQuery介绍
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('你已同意本协议');
                        }