我的jQuery笔记

一个jQuery对象实际上是包含了一些DOM对象,外加jQuery自己提供了一些方法的集合。

jQuer对象转换成DOM对象   $(window)[0]  


querySelector方法返回在DOM树中查找到的匹配参数条件的第一个元素

http简单介绍


  HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)


    HTTP工作原理

HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。

Web服务器有:Apache服务器,IIS服务器(Internet Information Services)等。

Web服务器根据接收到的请求后,向客户端发送响应信息。

HTTP默认端口号为80,但是你也可以改为8080或者其他端口


    HTTP三点注意事项:

1.HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。

2.HTTP是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。

3. HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。


一个完整的http事务

1)域名解析 -->

2) 发起TCP的3次握手 -->

3) 建立TCP连接后发起http请求 -->

4) 服务器响应http请求,浏览器得到html代码 -->

5)浏览器解析html代码,并请求html代码中的资源(如js、css、图片等) -->

6)浏览器对页面进行渲染呈现给用户 -->


HTTP请求格式主要有四部分组成,分别是:请求行、请求头、空行、消息体,每部分内容占一行。

服务器接收处理完请求后返回一个HTTP相应消息给客户端。HTTP响应消息的格式包括:状态行、响应头、空行、消息体。


<p id="info">Hello</p>

document.getElementById("info").innerHTML="pig"

$("#info").html('余建')

方便DOM的选取和操作,响应用户操作,简化Ajax操作

typeof    $("#info")         "object"

$("#info")    转化为     $("#info")[0]    等于 $("#info")get(0)

var p=document.getElementById("info")     转化为       $(p)

$ === jQuery   结果为    true


获取选择器

<div class="info">0</div>                 $('.info:first').text()        0

<div class="info">1</div>                      $('.info:gt(1)').text()                "234" 

<div class="info">2</div>                     $('.info:lt(3)').text()                  "012"

<div class="info">3</div>                  $('.info:eq(3)').text()      3

<div class="info">4</div>                  $('.info:last').text()        4


属性选择器

<a>0</a>                                               $('a[href]')       1 2 3

<a href="/info">1</a>                           $('a[href="/info"]')                1

<a href="/infomation">2</a>               $('a[href$="tion"]')  (结尾)             2

<a href="/test">3</a>                           $('a[href*="info"]').text()    (包含)   1  2


<form>

    <label>Name:</label>

    <input name="name">

    <fieldset>

        <label>Newsltter:</label>

        <input name="firstletter">

        <input name="secondletter">

    </fieldset>

    <input name="none">

</form>

层级选择器

$('form>input')

$('form input')

$('label+input')   相邻

$('label~input')   所有

<div>

    <p><span>Hello</span></p>

</div>

<div>Hello again</div>


筛选

$('div:has(span)') 


<p id="info">Hello</p>

<style>

    .big{

        background-color:green;

font-size:30px;

}

</style>


$("#info").attr('class','big')    

等价    var p=document.getElementById("info")

                  p.getAttribute('class')     "big"

                  p.setAttribute('class','')   


<div>

    <div id="div">我是DIV元素</div>

    <p id="p">我是P元素</p>

</div>


$('#div').insertAfter($('#p'))     返回  div 元素(p、div)

$('#div').after($('#p'))              返回  p 元素 (div、p)


元素的操作

$("ul").append("<li>list item</li>")


jQuery事件

$('#info').click(function(){console.log("hello")})


<script>

    $('#info').click(function(){

        console.log(this.innerHTML);

})

</script>


Hello


<script>

    $('#info').click(function(){

        console.log($(this));

})

</script>


fn.init [p#info]

0: p#info

length: 1

__proto__: Object(0)


事件绑定

$('#info').bind('click mouseenter',function () { console.log(this);})     多个事件用空格隔开


解绑

$('#info').unbind('mouseenter')


事件操作  trim(去除字符串首末两端空格)

var arr=[1,2,3,4,1,2];

$.each(arr,function(index,item){

console.log(index+':'+);

})

0:1  1:2  2:3  3:4   4:1   5:2


Ajax跨域问题 

使用如下标头可以接受全部网站请求:header('Access-Control-Allow-Origin:*')  ;


什么是跨域?

跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器施加的安全限制。

所谓同源是指,域名,协议,端口均相同,不明白没关系,举个栗子:

http://www.123.com/index.html 调用 http://www.123.com/server.php (非跨域)

http://www.123.com/index.html 调用 http://www.456.com/server.php (主域名不同:123/456,跨域)

http://abc.123.com/index.html 调用 http://def.123.com/server.php (子域名不同:abc/def,跨域)

http://www.123.com:8080/index.html 调用 http://www.123.com:8081/server.php (端口不同:8080/8081,跨域)

http://www.123.com/index.html 调用 https://www.123.com/server.php (协议不同:http/https,跨域)

请注意:localhost和127.0.0.1虽然都指向本机,但也属于跨域。

浏览器执行javascript脚本时,会检查这个脚本属于哪个页面,如果不是同源页面,就不会被执行。

解决办法:

1、JSONP:

使用方式就不赘述了,但是要注意JSONP只支持GET请求,不支持POST请求。

2、代理:

例如www.123.com/index.html需要调用www.456.com/server.php,可以写一个接口www.123.com/server.php,由这个接口在后端去调用www.456.com/server.php并拿到返回值,然后再返回给index.html,这就是一个代理的模式。相当于绕过了浏览器端,自然就不存在跨域问题。

3、PHP端修改header(XHR2方式)

在php接口脚本中加入以下两句即可:

header('Access-Control-Allow-Origin:*');//允许所有来源访问

header('Access-Control-Allow-Method:POST,GET');//允许访问的方式

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343

推荐阅读更多精彩内容

  • 一、样式篇 第1章 初识jQuery (1)环境搭建 进入官方网站获取最新的版本 http://jquery.co...
    凛0_0阅读 3,352评论 0 44
  • (续jQuery基础(1)) 第5章 DOM节点的复制与替换 (1)DOM拷贝clone() 克隆节点是DOM的常...
    凛0_0阅读 1,317评论 0 8
  • 第一章 jQuery简介 1-1 jQuery简介 1.简介 2.优势 3.特性与工具方法 1-2 环境搭建 进入...
    mo默22阅读 1,573评论 0 11
  • DOM创建节点及节点属性 通过JavaScript可以很方便的获取DOM节点,从而进行一系列的DOM操作。但实际上...
    阿r阿r阅读 1,002评论 0 9
  • 第1章 简介 第2章 DOM节点的创建 2-1 DOM创建节点及节点属性 通过JavaScript可以很方便的获...
    mo默22阅读 800评论 0 8