python之路_前端基础之jQuery入门1

一、jQuery介绍

  jQuery是一个轻量级的、兼容多浏览器的JavaScript库。使用户能够更方便地处理HTML Document、Events、实现动画效果、方便地进行Ajax交互,能够极大地简化JavaScript编程。它的宗旨就是:“Write less, do more.“

1、jQuery对象

  jQuery对象就是通过jQuery包装DOM对象后产生的对象。jQuery对象是 jQuery独有的。如果一个对象是 jQuery对象,那么它就可以使用jQuery里的方法:例如$(“#i1”).html()。

$(“#i1”).html()意思是获取id值为i1的元素的html代码,其中html()为jQuery里的方法,相当于DOM里的:document.getElementById("i1").innerHTML。虽然jQuery对象是包装DOM对象的,但是jQuery对象无法使用DOM的任何方法,同样DOM也无法 使用jQuery中的任何方法。

2、jQuery语法

  基本语法如下:

$(selector).action()

  有如下一个约定,我们在声明一个jQuery对象变量时候,在变量名前加上$符号,如下实例:

var $variable=jQuery对象
var variable = DOM对象
$variable[0]  //jQuery对象转成DOM对象

二、选择器

1、基本选择器

id选择器:                                                            $("#id值")
class选择器:                                                         $(".c1")
所有元素选择器:                                                       $("*")
标签名选择器:                                                         $("div")
组合选择器:                                                           $("#i1, p")

2、层级选择器

  下述中x和y可以是任意选择器:

后代选择器:                                                           $("x 空格 y")---x的所有后代y(子子孙孙)
儿子选择器:                                                           $("x  > y")---x的所有儿子y(儿子)
毗邻选择器:                                                           $("x +y")---找到所有紧挨在x后面的y
弟弟选择器:                                                           $("x ~y")---x之后所有的兄弟y

3、属性选择器

  注意:双引号里面用单引号

[attribute]                                                          //具有属性
[attribute=value]                                                    // 属性等于
[attribute!=value]                                                   // 属性不等

实例:
$("input[type='checkbox']");                                         // 取到checkbox类型的input标签
$("input[type!='text']");                                            // 取到类型不是text的input标签

4、基本筛选器

  下述基本筛选器主要用在选择器内对选择器做进一步筛选,介绍如下:

:first                                                             // 第一个
:eq(index)                                                         // 索引等于index的那个元素
:last                                                              // 最后一个
:even                                                              // 匹配所有索引值为偶数的元素,从 0 开始计数
:odd                                                               // 匹配所有索引值为奇数的元素,从 0 开始计数
:gt(index)                                                         // 匹配所有大于给定索引值的元素
:lt(index)                                                         // 匹配所有小于给定索引值的元素
:not(选择器)                                                        // 去除所有与给定选择器匹配的元素
:has(选择器)                                                        // 匹配含有选择器所匹配的元素的元素

  部分实例如下:

5、表单选择器

:input
:text
:password
:radio
:checkbox
:submit
:image
:reset
:button
:file

6、表单对象属性

:enabled
:disabled
:checked
:selected

三、筛选器

1、下一个元素

$("#id").next()
$("#id").nextAll()
$("#id").nextUntil("#i2")

2、上一个元素

$("#id").prev()
$("#id").prevAll()
$("#id").prevUntil("#i2")

3、父亲元素

$("#id").parent()
$("#id").parents()
$("#id").parentsUntil()

4、儿子与兄弟

$("#id").children();                                                // 儿子们
$("#id").siblings();                                                // 兄弟们

5、查找元素

$("id").find()                                                     // 搜索所有与指定表达式匹配的元素。这个函数是找出正在处理的元素的后代元素的好方法。

6、not与has

  not与has即可当基本的筛选器在括号内使用,又可当方法在外面使用,具体使用方法介绍如下:

not:
            写在引号里面的:        --> $("#my-checkbox input:not(:checked)")
            写在外面当方法用的      --> $("#my-checkbox input").not(":checked")
            
has:
            写在引号内表示有什么的  --> $("label:has('input')")
            写在外面当方法用的:    --> $("label").has("input")

 四、二级菜单实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>左侧菜单示例</title>

    <style>
        .hide {
            display: none;
        }
        .menu {
            width: 300px;
            height: 600px;
            border: 1px solid black;
            background-color: #c0cddf;
        }

        .title {
            background-color: #4949ff;
            height: 36px;
            line-height: 36px;
            color: white;
        }
    </style>
</head>
<body>

<div class="menu">
    <div class="title" onclick="showBody(this);">菜单一</div>
    <div class="body hide">
           <ul>
            <li>内容一</li>
            <li>内容二</li>
            <li>内容三</li>
        </ul>
    </div>

    <div class="title" onclick="showBody(this);">菜单二</div>
    <div class="body hide">
        <ul>
            <li>内容一</li>
            <li>内容二</li>
            <li>内容三</li>
        </ul>
    </div>

    <div class="title" onclick="showBody(this);">菜单三</div>
    <div class="body hide">
           <ul>
            <li>内容一</li>
            <li>内容二</li>
            <li>内容三</li>
        </ul>
    </div>
</div>

<script src="jquery-3.2.1.min.js"></script>
<script>
    function showBody(self) {
        // ths --> 当前点击的标签 --> DOM对象
        // $(ths) --> 得到jQuery对象 --> 就能使用jQuery的方法了
        // $(ths).next();  --> 毗邻我点击标签的下一个要显示的.body
        // $(ths).next().removeClass("hide")   --> 显示当前的这个.body
        // $(ths).next().removeClass("hide").siblings(".body")  --> 找到要显示的.body所有的兄弟标签
        $(self).next().removeClass("hide").siblings(".body").addClass("hide");
    }
</script>

</body>
</html>

五、作业练习

1、找到本页面中id是i1的标签:                                            $("#i1")
2、找到本页面中所有的h2标签:                                            $("h2")
3、找到本页面中所有的input标签:                                         $("input")
4、找到本页面所有样式类中有c1的标签:                                     $(".c1")
5、找到本页面所有样式类中有btn-default的标签:                            $(".btn-default")
6、找到本页面所有样式类中有c1的标签和所有h2标签:                          $(".c1,h2")
7、找到本页面所有样式类中有c1的标签和id是p3的标签:                        $(".c1,#p3")
8、找到本页面所有样式类中有c1的标签和所有样式类中有btn的标签:               $(".c1,.btn")
9、找到本页面中form标签中的所有input标签:                               $("form input")
10、找到本页面中被包裹在label标签内的input标签:                          $("label input")
11、找到本页面中紧挨在label标签后面的input标签:                          $("label+input")
12、找到本页面中id为p2的标签后面所有和它同级的li标签:                     $("#p2~li")
13、找到id值为f1的标签下面的第一个input标签:                            $("#f1 input:first")或者$("#f1 input").first()
14、找到id值为my-checkbox的标签下面最后一个input标签:                   $("#my-checkbox input:last")或者$("#my-checkbox input").last()
15、找到id值为my-checkbox的标签下面没有被选中的那个input标签:            $("#my-checkbox input:not(:checked)")或者$("#my-checkbox input").not(:checked)
16、找到所有含有input标签的label标签:                                  $("label:has('input')")或者$("label").has("input")

 

原文地址:https://www.cnblogs.com/seven-007/p/7839616.html