jQuery 总结

# jQuery 概述

jQuery 是原生 Javascript 开发出来的代码库,通常被称为框架。

jQuery 设计的宗旨是 “write Less,Do More”,即倡导写更少的代码,做更多的事情。

jQuery 通常被用来优化HTML文档操作、事件处理、动画设计和Ajax交互。

```

中文名: 极快瑞

外文名: jQuery

核心理念: write less,do more

发布时间: 2006年1月

发布人: John Resig

发布地点: 美国纽约

最新版本: jQuery 3.1.1

第一个版本: jQuery 1.0(2006年1月)

```

>注意:jQuery2.0 以上的版本是不支持IE6、IE7、IE8的。

## jQuery 优势

- 体积小,使用灵巧(只需引入一个js文件)

- 方便的选择页面元素(模仿CSS选择器更精确、灵活)

- 动态更改页面样式/页面内容(操作DOM,动态添加、移除样式)

- 控制响应事件(动态添加响应事件)

- 提供基本网页特效(提供已封装的网页特效方法)

- 快速实现通信(ajax)

- 易扩展、插件丰富

## jQuery 下载

官网:http://jquery.com/

## 如何引入 jQuery 包

第一种方法:本地文件引入

```html

<script src="jquery.js"></script>

```

第二种方法:他站网络引入

```html

<script src="http://libs.baidu.com/jquery/1.11.1/jquery.min.js"></script>

```

## 使用 jQuery

引入 jQuery 文件后,才能使用 jQuery 代码。

## jQuery 核心

### ready与load

load  等页面所有内容(文档,img,js,video)加载完毕    才会执行对应的函数

ready 等文档中所有的dom元素加载完毕 执行对应的函数(允许你绑定一个在DOM文档载入完成后执行的函数)

```

    $(document).ready(function () {

        console.log(1111111);

    })

    简写

    $(function () {

        console.log(1111111111);

    })

```

方法展示之基本HTML结构

```

    <div class="wrap" name="one" id="box">

        <h2>模拟封装</h2>

        <input type="text" class="con">

        <div class="list">

            <li class="first">01</li>

            <li>02</li>

            <li class="mid">03</li>

            <li>04</li>

            <li>05</li>

            <li class="last">06</li>

        </div>

    </div>

```

### each

jquery遍历方法

```

$(".list li").each(function(index,item){

    console.log(index,item);

})

```

### length

返回jQuery对象中元素的个数。

```

  $(".list li").length

```

### index()

返回元素对应的下标(默认 相对于同级)

```

$(".list .first").eq(3).index();   // 0

```

### data()  和 removeData()

data()  在元素上存放数据  

removeData()  删除 在元素上存放数据  删(对应属性名)

可以存( 属性名 -> 属性值(各种数据类型))        取(对应属性名 取值)

```

 $(".list li").eq(0).data("userInfo", { name: "张三", age: 18 });

 $(".list li").eq(0).data("userInfo");

 删除对应的数据

 $(".list li").eq(0).removeData("userInfo");

```



 

# jQuery 选择器

选择器的作用是选出元素节点,要注意的是结果为集合,就算只选出来一个元素节点,其结果也是集合。

- 基本选择器

- 层级选择器

- 伪类选择器

## 基本选择器

### ID选择器

$("#id")

### 标签选择器

$("element")

### 类选择器

$(".className")

### 通配选择器

$("*") 匹配指定上下文中所有元素

### 组选择器

$("selector1,selector2,selectorN") 特点:无数量限制,以逗号分隔 (逐个匹配,结果全部返回)

```html

<div>

    <h4>论语</h4>

    <div class="div1">子在川上曰:</div>

    <p id="p1">“逝者如斯夫!</p>

    <p>不舍昼夜。”</p>

</div>

<script>

// 练习

console.log( $("#p1") );

</script>

```

## 层级选择器

### 包含选择器

$("a b")在给定的祖先元素下匹配所有后代元素。(不受层级限制)

### 子选择器

$("parent > child") 在给定的父元素下匹配所有子元素。

### 相邻选择器

$("prev + next") 匹配所有紧接在prev元素后的next元素。(紧随其后找1个元素)

### 兄弟选择器

$("prev ~ siblings") 匹配prev元素之后的所有sibling元素。



 

## 伪类选择器

### 特定位置选择器

#### :first

匹配找到的第1个元素

#### :last

匹配找到的最后一个元素

#### :eq

匹配一个给定索引值的元素

### 指定范围选择器

#### :even

匹配所有索引值为偶数的元素

#### :odd

匹配所有索引值为奇数的元素

#### :gt(index)

匹配所有大于给定索引值的元素

#### :lt(index)

匹配所有小于给定索引值的元素

```html

<ul>

    <li>0</li>

    <li>1</li>

    <li>2</li>

    <li>3</li>

    <li>4</li>

    <li>5</li>

    <li>6</li>

</ul>

<script>

$("li:first").css("color", "orange");

</script>

```

### 排除选择器

#### :not

去除所有与给定选择器匹配的元素

```html

<p>1</p>

<p id="mp">2</p>

<p class="c1">3</p>

<script>

$("p:not(.c1,#mp)").css("color", "orange");

</script>

```

### 内容选择器

#### :contains

匹配包含给定文本的元素

```html

<div>abcd</div>

<div>ABcd</div>

<div>xxyy</div>

<script>

console.log( $("div:contains('bc')") );

</script>

```

#### :empty

匹配所有不包含子元素或者文本的空元素

```html

<table>

    <tr><td>Value 1</td><td></td></tr>

    <tr><td>Value 2</td><td></td></tr>

</table>

<script>

console.log( $("td:empty") );

</script>

```

#### :has

匹配含有选择器所匹配的元素的元素

```html

<div><p>Hello</p></div>

<div>Hello again!</div>

<script>

console.log( $("div:has(p)") );

</script>

```

#### :parent

匹配含有子元素或者文本的元素

```html

<table>

    <tr><td>Value 1</td><td></td></tr>

    <tr><td>Value 2</td><td></td></tr>

</table>

<script>

console.log( $("td:parent") );

</script>

```

### 可见性选择器

#### :hidden

匹配所有不可见元素,或者type为hidden的元素

```html

<table>

    <tr style="display:none"><td>Value 1</td></tr>

    <tr><td>Value 2</td></tr>

</table>

<script>

console.log( $("tr:hidden") );

</script>

```

#### :visible

匹配所有的可见元素

```html

<table>

    <tr style="display:none"><td>Value 1</td></tr>

    <tr><td>Value 2</td></tr>

</table>

<script>

console.log( $("tr:visible") );

</script>

```

## 属性选择器

### [attribute]

匹配包含给定属性的元素

```html

<div>

  <p>Hello!</p>

</div>

<div id="test2"></div>

<script>

console.log( $("div[id]") );

</script>

```

### [attribute=value]

匹配给定的属性是某个特定值的元素

```html

<input type="checkbox" name="a" value="1" />

<input type="checkbox" name="a" value="2" />

<input type="checkbox" name="b" value="3" />

<script>

$("input[name='a']").attr("checked", true);

</script>

```

### [attribute!=value]

匹配所有不含有指定的属性,或者属性不等于特定值的元素。

```html

<input type="checkbox" name="a" value="1" />

<input type="checkbox" name="a" value="2" />

<input type="checkbox" name="b" value="3" />

<script>

$("input[name!='a']").attr("checked", true);

</script>

```

### [attribute^=value]

匹配给定的属性是以某些值开始的元素

```html

<input type="checkbox" name="abc" value="1" />

<input type="checkbox" name="adc" value="2" />

<input type="checkbox" name="b" value="3" />

<script>

$("input[name^='a']").attr("checked", true);

</script>

```

### [attribute$=value]

匹配给定的属性是以某些值结尾的元素

```html

<input type="checkbox" name="abc" value="1" />

<input type="checkbox" name="adc" value="2" />

<input type="checkbox" name="b" value="3" />

<script>

$("input[name$='c']").attr("checked", true);

</script>

```

### [attribute*=value]

匹配给定的属性是以包含某些值的元素

```html

<input type="checkbox" name="abc" value="1" />

<input type="checkbox" name="adc" value="2" />

<input type="checkbox" name="b" value="3" />

<script>

$("input[name*='d']").attr("checked", true);

</script>

```


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坨坨tuo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值