JQ学习

1.JQ主要功能

HTML 元素选取
HTML 元素操作
CSS 操作
HTML 事件函数
JavaScript 特效和动画
HTML DOM 遍历和修改
AJAX

2.安装

百度 CDN:<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js">

3.语法

$(selector).action()
文档就绪事件防止文档在在完全加载之前运行jq代码

JQ 入口函数:
第一种:
$(document).ready(function(){
            // 开始写 jQuery 代码...
});
第二种:
$(function(){
            // 开始写 jQuery 代码...
 })
JavaScript 入口函数:
window.onload = function () {
    // 执行代码
}

3.选择器

$("#id", ".class")  复合选择器
$(div p span)       层级选择器 //div下的p元素中的span元素
$(div>p)            父子选择器 //div下的所有p元素
$(div+p)            相邻元素选择器 //div后面的p元素(仅一个p)
$(div~p)            兄弟选择器  //div后面的所有p元素(同级别)
$(.p:last)          类选择器 加 过滤选择器  第一个和最后一个(first 或者 last)
$("#mytable td:odd")      层级选择 加 过滤选择器 奇偶(odd 或者 even)
$("div p:eq(2)")    索引选择器 div下的第三个p元素(索引是从0开始)
$("a[href='www.baidu.com']")  属性选择器
$("p:contains(test)")        // 内容过滤选择器,包含text内容的p元素
$(":emtyp")        //内容过滤选择器,所有空标签(不包含子标签和内容的标签)parent 相反
$(":hidden")       //所有隐藏元素 visible 
$("input:enabled") //选取所有启用的表单元素
$(":disabled")     //所有不可用的元素
$("input:checked") //获取所有选中的复选框单选按钮等
$("select option:selected") //获取选中的选项元素

4.事件

4.1语法

$(selector).click(function(){
    // 动作触发后执行的代码!!
});

4.2鼠标事件

  • click() 方法是当按钮点击事件被触发时会调用一个函数
  • dblclick() 当双击元素时,会发生 dblclick 事件。
  • mouseenter() 当鼠标指针穿过元素时,会发生 mouseenter 事件。
  • mousedown() 当鼠标指针移动到元素上方,并按下鼠标按键时,会发生 mousedown 事件。
  • mouseup() 当在元素上松开鼠标按钮时,会发生 mouseup 事件。
  • hover() 方法用于模拟光标悬停事件。当鼠标移动到元素上时,会触发指定的第一个函数(mouseenter);当鼠标移出这个元素时,会触发指定的第二个函数(mouseleave)。

4.3输入框焦点事件

  • focus() 当元素获得焦点时,发生 focus 事件。当通过鼠标点击选中元素或通过 tab 键定位到元素时,该元素就会获得焦点
  • blur() 当元素失去焦点时,发生 blur 事件多用于input

4.4键盘事件

keypress 事件相关的事件顺序

  • keydown- 键按下的过程
  • keypress - 键被按下
  • keyup- 键被松开
  • keydown-当键盘键被按下时
  • keyup- 键被松开

4.5其他事件

  • submit当提交表单时
  • change当 <input> 字段改变时警报文本:

5.jQuery HTML

5.1获取属性

$(selector).attr(属性)

返回文档中所有图像的src属性值。
$("img").attr("src");

5.2获取内容

  • text() 文本内容
  • val() 表单字段值例如input框输入的值\select的option的value值
  • html() 元素的内容(包括 HTML 标记)

5.3设置内容和属性

  • text(内容)
返回p元素的文本内容。
$('p').text();
  • html(内容)
内容设置为空(清除)
$('p').html("");
  • val(内容)
<select id="single">
    <option>Single</option>
    <option selected="selected">Single2</option>
</select> 

<input type="checkbox" value="橘子" name="check">橘子1</input>
<input type="checkbox" value="香蕉" name="check">香蕉1</input>
 <input type="checkbox" value="西瓜" name="check">西瓜1</input>
<input type="checkbox" value="芒果" name="check">芒果1</input>
<input type="checkbox" value="葡萄" name="check">葡萄1</input>

<input type="radio" value="radio1" name="radio"/> radio1
<input type="radio" value="radio2" name="radio"/> radio2

<button id="btn1">获取checkbox值</button>
<button id="btn2">获取radio值</button>

//获取select值
$("#single").change(function(){
    var selectValue=$(this).val();
    console.log(selectValue);
})
//获取checkbox值
$("#btn1").click(function(){
    var checkboxValue =[]; 
    $('input[name="check"]:checked').each(function(){ 
        checkboxValue.push($(this).val()); 
    }); 
      console.log(checkboxValue);   
})
//获取radio值
$("#btn1").click(function(){
       var radioValue=$('input[name="radio"]:checked').val();
          console.log(radioValue);
}
  • attr(属性,属性值)
设置单个属性:
attr("class","one");
设置多个属性:
attr({
      "data-id":1213,
      "class":"pone"  
});

5.4添加元素

  • 在元素的内部插入
    append() - 在被选元素的结尾插入内容
    prepend() - 在被选元素的开头插入内容
  • 在元素的旁边插入
    after() - 在被选元素之后插入内容
    before() - 在被选元素之前插入内容
  • 插入多个
var text1=$("<p></p>").text("lala");
var text2=$("<p></p>").text("lala");
var text3=$("<p></p>").text("lala");
$("p:first").prepend(text1,text2,text3);

5.5两种创建元素的方法

js
var text1=document.createElement("p");
text1.innerHTML="hahha";
jq
 var text1=$("<p></p>").html(内容).appendTo($(selector))

5.6删除元素

  • remove() - 删除被选元素(及其子元素)
<div> 
     <div id="one">
            <p>1</p>
            <p>2</p>
            <p>3</p>
    </div>
</div>
$("#one").remove();
变成
<div> 
</div>

empty() - 从被选元素中删除子元素

   <div id="one">
        <p>1</p>
        <p>2</p>
        <p>3</p>
    </div>
$("#one").empty() ;或者
$("#one").html("") ;
变成
<div id="one">
</div>
  • 过滤被删除的元素
<div id="three">          
        <p class="=no">1</p>
         <p class="=no">2</p>
        <p>3</p>
</div>
 $("#three").remove(".no");
变成
<div id="three">          
      <p class="=no">1</p>
      <p class="=no">2</p>
 </div>

5.7获取并设置 CSS 类(放入style属性)

  • addClass() - 向被选元素添加一个或多个类
  • removeClass() - 从被选元素删除一个或多个类
  • toggleClass() - 对被选元素进行添加/删除类的切换操作
  • css() - 设置或返回样式属性
-- 返回css属性
> console.log($("#three").css("color"))

-- 设置css属性
> $("#three").css("background-color","red");

--设置多个css属性
> $("#four").css({
            "background-color":"red",
            "font-weight":"bold"
        })
  • 尺寸


    image.png

    image.png

    image.png
//获取
$(selector).width();
//设置
$(selector).width("120px");

6.JQ的Ajax

6.1 load

  • 创建一个test.html文件,用于被load()方法加载并追加到页面中
><h1>Ajax</h1>
    <div id="ben_one"></div>
    <button id="ben_firstbtn">点击</button>
<script>
$(function(){
    $("#ben_firstbtn").click(function(){
      $("#ben_one").load("index14.html ",function(responseTxt,statusTxt,xhr){
          console.log(responseTxt);
          //console.log(statusTxt);
          //console.log(xhr);
      })
    })    
})
</script>
  • 文件中 class="ben" 的元素的内容,加载到指定的 <div> 元素中:
  $("#ben_one").load("index14.html .ben ",function(responseTxt,statusTxt,xhr){
}
  • 回调函数
 $("#ben_one").load("index14.html .ben ",function(responseTxt,statusTxt,xhr){}
responseTxt - 包含调用成功时的结果内容
statusTXT - 包含调用的状态
xhr - 包含 XMLHttpRequest 对象

6.2 get

语法:$.get(url, [data], [callback], [type])
url:待载入页面的URL地址
data:待发送 Key/value 参数。
callback:载入成功时回调函数。
type:返回内容格式,xml, html, script, json, text, _default。

> $.get("/doget",{"name":"ben","age":23},function(result,status){
        
     })

6.3用Jquery实现ajax提交form表单

6.4 Post

语法:$.post(url, [data], [callback], [type])
url:发送请求地址。
data:待发送 Key/value 参数。
callback:发送成功时回调函数。
type:返回内容格式,xml, html, script, json, text, _default。

7.jQuery 遍历

7.1向上遍历 DOM 树

  • parent() 返回被选元素的直接父元素。
  • parents() 返回被选元素的所有祖先元素,它一路向上直到文档的根元素 (<html>)
  • parentsUntil() 返回介于两个给定元素之间的所有祖先元素
<div id="ben_one">
        <p id="ben_two">p
            <p id="ben_three">
                p
            </p>
        </p>
        <span>span</span>
        <p>p</p>
        <span>span</span>
        <p>p</p>
    </div>
       <button id="ben_firstbtn">点击</button>
$("#ben_firstbtn").click(function(){
      $("#ben_two").parent().css("border","1px solid red");
      $("#ben_two").parents().css("border","1px solid blue");
      $("#ben_two").parents("#ben_one").css("border","1px solid blue");
      $("#ben_three").parentsUntil("div").css("border","1px solid blue");
     })

7.2后代

  • children() 返回被选元素的所有直接子元素
  • find() 返回被选元素的后代元素,一路向下直到最后一个后代。
 $("div").find("span");  //返回后代所有的span
$("div").find("*");  //返回所有后代

7.3 同胞

  • siblings() 返回被选元素的所有同胞元素。
  • next() 返回被选元素的下一个同胞元素
  • nextAll() 返回被选元素的所有跟随的同胞元素
  • nextUntil() 返回介于两个给定参数之间的所有跟随的同胞元素
  • prev()
  • prevAll()
  • prevUntil()
> <h1>同胞</h1>
    <div id="ben_one">DIV</div>
    <p>p1</p>
    <p>p2</p>
    <p>p3</p>
    <button id="ben_firstbtn">点击</button>
// $("#ben_one").siblings().css("border","1px solid blue");   //h1 p1 p2 p3
       //$("#ben_one").next().css("border","1px solid blue"); //p1 
       $("#ben_one").nextAll().css("border","1px solid blue"); //p1 p2 p3

7.4过滤(选择内容有很多组)

  • first() 方法返回被选元素的首个元素。
  • last() 方法返回被选元素的最后一个元素。
  • eq() 方法返回被选元素中带有指定索引号的元素。
  • not() 方法返回不匹配标准的所有元素。(与filter相反)
  • filter() 方法允许您规定一个标准。不匹配这个标准的元素会被从集合中删除,匹配的元素会被返回
> <p class="not">p1</p>
    <p>p2</p>
    <p>p3</p>
 // $("p").first().css("border","1px solid blue");  //p1
      //$("p").last().css("border","1px solid blue");  //p3
      //$("p").not(".not").css("border","1px solid blue");  //p2 p3
      //$("p").eq(1).css("border","1px solid blue");  //p2
image.png

8.jQuery 效果

8.1隐藏和显示

  • hide()
  • show()
  • toggle()

8.2淡入淡出

  • fadeIn() 淡入(慢慢显示)已隐藏的元素 即css设置了display:none;
    语法:$(selector).fadeIn(speed,callback);
    可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。.
    可选的 callback 参数是 fading 完成后所执行的函数名称。

  • fadeOut() 淡出(慢慢隐藏)可见元素
    语法:$(selector).fadeOut(speed,callback);
    可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。
    可选的 callback 参数是 fading 完成后所执行的函数名称。

  • fadeToggle() 可以在 fadeIn() 与 fadeOut() 方法之间进行切换
    语法:$(selector).fadeToggle(speed,callback);
    可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。
    可选的 callback 参数是 fading 完成后所执行的函数名称

  • fadeTo() 允许渐变为给定的不透明度(值介于 0 与 1 之间)
    语法:fadeTo(speed,opacity,callback);
    必需的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。
    fadeTo() 方法中必需的 opacity 参数将淡入淡出效果设置为给定的不透明度(值介于 0 与 1 之间)。可选的 callback 参数是该函数完成后所执行的函数名称。

$("p").fadeTo("slow",0.15);  

8.3滑动

  • slideDown()
  • slideUp()
  • slideToggle()
 // $("p").slideToggle("slow");       
// $("p").slideDown("slow");       
 // $("p").slideUp("slow");  

9.链(Chaining)

允许我们在相同的元素上运行多条 jQuery 命令,一条接着另一条
把 css()、slideUp() 和 slideDown() 链接在一起。"p1" 元素首先会变为红色,然后向上滑动,再然后向下滑动:


10.获取直接的父代元素

parent()\next()\previous()
方法可以获得一个节点的父节点next方法可以获得一个节点的下一个兄弟节点,对应的previous方法可以获得一个节点的上一个兄弟节点

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

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,454评论 1 45
  • (续jQuery基础(1)) 第5章 DOM节点的复制与替换 (1)DOM拷贝clone() 克隆节点是DOM的常...
    凛0_0阅读 1,324评论 0 8
  • $( ".class" ),$( "element" ) 原生:样式是可以多选的,所以得到的是一个合集,需要通过循...
    一包阅读 378评论 0 0
  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 5,108评论 0 21
  • 本篇博客源地址 总结: 鼠标事件 1.click与dbclick事件ele.click()ele.click(ha...
    ZombieBrandg阅读 670评论 0 1