JQ学习

作者: benbensheng | 来源:发表于2019-03-15 22:18 被阅读0次

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>显示

相关文章

  • 前端一周04 jQuery选择器、过滤器、DOM 操作、动画

    学习JQ

  • jq学习

    $( ".class" ),$( "element" ) 原生:样式是可以多选的,所以得到的是一个合集,需要通过循...

  • JQ学习

    1.JQ主要功能 HTML 元素选取HTML 元素操作CSS 操作HTML 事件函数JavaScript 特效和动...

  • 2015-12-09 jq学习

    复习之前学习过的jq知识

  • jq学习记录

    1,学习之前就要进入状态 比如说放一首放福尔摩斯或者疑神疑鬼的歌,分布式歌真的很有用,心理学证明恐怖的歌或者是旋律...

  • JQ学习笔记

    jQuery · 选择器 选择器,用来查找html标签(元素) · 基本选择器 · 层级选择器 后代选择器 子元素...

  • jq学习笔记

    jq2.0以上的版本不兼容IE8及已下的版本的浏览器 jq的使用 ready和onload事件的区别 ready表...

  • jq初始,选择器,事件,内容操作,样式操作

    jq初始 jq选择器 jq事件 jq内容操作 jq样式操作

  • jQuery速成笔记(一)

    本小爷自从学习了jq,再也不想写原生的js了,出于我对jq的喜爱,今天兴趣来了,想写篇jq的文章。。嘿嘿! 选择器...

  • JQuery

    • 什么是JQ• JS的升级版,写越少的代码,做越多的事情• 学习JQ的基础• HTML CSS Javascri...

网友评论

      本文标题:JQ学习

      本文链接:https://www.haomeiwen.com/subject/sclrmqtx.html