一、什么是JQuery

[1]   jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多 javascript高手加入其team。

[2]   jQuery是一种新型的JavaScript库。jq是用js写的,能用jq实现,用js都能实现,JQuery的api只对自己开放,jq不能用js的API,js也不能用jq的API

[3]  它是轻量级的js库(压缩后只有21k) ,这是其它的js库所不及的,它兼容CSS3,还兼容各种浏览器

[4]  jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTMLdocuments、events、实现动画效果,并且方便地为网站提供AJAX交互。

[5]  jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。

二、JQuery对象

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

$("#test").html() 意思是指:获取ID为test的元素内的html代码。其中html()是jQuery里的方法 这段代码等同于用JS实现代码: document.getElementById(" test ").innerHTML; 虽然jQuery对象是包装JS对象后产生的,但是jQuery无法使用DOM对象的任何方法,同理JS对象也不能使用jQuery里的方法.乱使用会报错约定:如果获取的是 jQuery 对象, 那么要在变量前面加上$. var $variable = jQuery 对象
var variable = DOM (JS)对象$variable[0]:jquery对象转为dom对象      $("#msg").html(); $("#msg")[0].innerHTML

JQ对象与JS(DOM)对象转换:

     //js-->jQueryvar oBox = document.getElementById("box");oBox.innerHTML = "888";  $(oBox).html("888")//jq-->jsvar $p = $("#box p");$p.html("11111");$p[0].innerHTML("111");$p.get(2).innerHTML = "111";//jq--->特定的jqvar $p = $("#box p");$p.html("333");$p.eq(1).html("888");

三、JQ选择器和筛选器

基本选择器
$("*")  $("#id")   $(".class")  $("element")  $(".class,p,div")分别是:全部、id、class、标签、多选
层级选择器
$(".outer div")  $(".outer>div")   $(".outer+div")  $(".outer~div")分别是:后代、子代、相邻、兄弟
属性选择器
$('[id="div1"]')   $('["alex="sb"][id]')分别是:对定义的属性进行选择
表单选择器
$("[type='text']")----->$(":text")     注意只适用于input标签  : $("input:checked")

表单选择器:

    :enabled:disabled:checked:selected

基本筛选器:

基本筛选器  a = $("li:first")    //取第一个
        console.log(a)b = $("li:eq(2)")    //取索引为2的那一个
        console.log(b)c = $("li:even")     //先取第一个隔一个再取
        console.log(c)d = $("li:gt(3)")    //隔几个再取console.log(d)    

筛选器方式二:

$("li").eq(2)  $("li").first()  $("ul li").hasclass("test")

关系筛选器

        // hasClass 检查当前元素是否含有某个特定的类,如果有返回True.否则返回False// children 找儿子,可以不传参数// find 默认不找,传参的话找对应参数的后代// parent 找父级,b不需要参数// parents(".show") 找到名字叫做show的祖先// sibings 不传参,找对应参数的兄弟// alert($("p").hasClass("box2"))  Falseconsole.log($("#box").children("p"));console.log($("#box").children());console.log($("#box").find("p"))    

例:

 查找子标签:          $("div").children(".test")      $("div").find(".test")  向下查找兄弟标签:     $(".test").next()               $(".test").nextAll()     $(".test").nextUntil() 向上查找兄弟标签:     $("div").prev()                  $("div").prevAll()       $("div").prevUntil()   查找所有兄弟标签:     $("div").siblings()  查找父标签:          $(".test").parent()              $(".test").parents()     $(".test").parentUntil() 

属性操作

        // attr 设置/获取 标签属性// removAttr()  移除标签属性//
        // addClass// removeClass()//     传入参数,class,则移除对应的class//     若不传人参数,则移除全部// toggleClass()//     有class就删除,没有就增加//
        // jQuery    js//
        // html()     innerHTML// text()     innerText// val()      valuevar $box = $("#box");alert($box.attr("class"))$box.attr("class","小婆")$box.attr("py","xp");$box.removeAttr()    

关于attr深入:

<input id="chk1" type="checkbox" />是否可见
<input id="chk2" type="checkbox" checked="checked" />是否可见<script>//对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。
//对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。
//像checkbox,radio和select这样的元素,选中属性对应“checked”和“selected”,这些也属于固有属性,因此
//需要使用prop方法去操作才能获得正确的结果。//    $("#chk1").attr("checked")
//    undefined
//    $("#chk1").prop("checked")
//    false//  ---------手动选中的时候attr()获得到没有意义的undefined-----------
//    $("#chk1").attr("checked")
//    undefined
//    $("#chk1").prop("checked")
//    true
console.log($("#chk1").prop("checked"));//falseconsole.log($("#chk2").prop("checked"));//trueconsole.log($("#chk1").attr("checked"));//undefinedconsole.log($("#chk2").attr("checked"));//checked
</script>

View Code

文档节点,即html标签等操作

//创建一个标签对象$("<p>")//内部插入
$("").append(content|fn)      ----->$("p").append("<b>Hello</b>");$("").appendTo(content)       ----->$("p").appendTo("div");$("").prepend(content|fn)     ----->$("p").prepend("<b>Hello</b>");$("").prependTo(content)      ----->$("p").prependTo("#foo");//外部插入
$("").after(content|fn)       ----->$("p").after("<b>Hello</b>");$("").before(content|fn)      ----->$("p").before("<b>Hello</b>");$("").insertAfter(content)    ----->$("p").insertAfter("#foo");$("").insertBefore(content)   ----->$("p").insertBefore("#foo");//替换$("").replaceWith(content|fn) ----->$("p").replaceWith("<b>Paragraph. </b>");//删除
$("").empty()$("").remove([expr])//复制
$("").clone([Even[,deepEven]])

JQ事件:

事件绑定:

var $box = $("box");$box.click(function () {alert(1)})

事件委派,是绑定事件的另一方式,可以绑定多个事件

语法:$("").on(eve,[selector],[data],fn)  // 在选择元素上绑定一个或多个事件的事件处理函数。eve:事件类型fn:函数
//on绑定单个事件$("li").on("click",function () {alert($(this).index())    //在jq里面index()是你对应的下标
    })
//on绑定多个事件$("#box").on({"click":function () {alert(1);},"click2":function () {alert(1);},"click3":function () {alert(3)}

each遍历(循环):

//方法一
//格式:$.each(obj,fn)
$("#box p").each(function (i) {this.innerHTML = "我是第" + i +"个";$(this).html("我是第"+ i + "个");})//方法二
//格式:$("").each(fn)
li=[10,20,30,40];
dic={name:"yuan",sex:"male"};
$.each(li,function(i,x){console.log(i,x)
});

JQ的css操作:

// css设置样式// .css()// 以下是返回对应的的信息// .width()// .height()//
        // innerWidth()  / innerHeight 会算上padding// outerWidth() / outerHeight 会算上 padding+border//
        // offset()//     该对象有top/left属性//     代表的是到浏览器的值//
        // position()//     该对象有top/left属性//     代表的是到父级的值// var $box = $("#box");// $box.css("height","200px");// // oBox.style.height = "200px";  当然要获取oBox// // $box.css({// //     "width":"400px",// //     "height":"300px",// //     "background":"red"// // })给多个样式// alert($box.width())// alert($box.height())

转载于:https://www.cnblogs.com/tashanzhishi/p/9201778.html

前端基础之JQuery相关推荐

  1. 前端基础04 Jquery 总结

    一.jquery 1.简介 A.就是对js的一个简单的封装 优化Html文档操作 事件处理 动画设计 ajax交互 B.适配了各种主流的浏览器 C.轻量级的前端框架 2.下载 官网下载地址:https ...

  2. b插到元素a之前python_python之路_前端基础之jQuery入门3

    一.文档操作 (一)插入儿子元素 1.添加到指定元素内部的后面 $(A).append(B):B作为A的最后一个儿子元素:$(A).appendTo(B):A作为B最后一个儿子元素.以上两种A必须为j ...

  3. 前端基础:jQuery

    Introduction to jQuery jQuery 是一个快速.简洁的 JavaScript 框架,是目前最流行的 JavaScript 程序库,它是对 JavaScript 对象和函数的封装 ...

  4. python之路_前端基础之jQuery入门2

    一.样式操作 1.css样式 <body> <div class="c1">111</div> <script src="jqu ...

  5. jquery function_前端基础进阶(十三)详细图解jQuery扩展jQuery插件

    UI 鉴赏 早几年学习前端,大家都非常热衷于研究jQuery源码. 我至今还记得当初从jQuery源码中学到一星半点应用技巧的时候常会有一种发自内心的惊叹,"原来JavaScript居然可以 ...

  6. 零基础入门jQuery视频教程

    零基础入门jQuery最新版开发.NET富客户端应用(选择器.DOM操作.事件和动画.Ajax应用.插件.Mobile) 课程分类:.NET+Jquery 适合人群:初级 课时数量:35课时 用到技术 ...

  7. 前端基础进阶(七):函数与函数式编程

    纵观JavaScript中所有必须需要掌握的重点知识中,函数是我们在初学的时候最容易忽视的一个知识点.在学习的过程中,可能会有很多人.很多文章告诉你面向对象很重要,原型很重要,可是却很少有人告诉你,面 ...

  8. 《疯狂前端开发讲义jQuery+Angular+Bootstrap前端开发实践》学习笔记

    <疯狂前端开发讲义jQuery+Angular+Bootstrap前端开发实践>学习笔记 二〇一九年二月十三日星期三2时28分54秒 前提:本书适合有初步HTML.CSS.JavaScri ...

  9. ❤️《Vue前端基础框架集合从入门到高级》(小白也可学,建议收藏)❤️

    <Vue前端基础框架集合从入门到高级>,小白也可学 文章目录 <Vue前端基础框架集合从入门到高级>,小白也可学 ❤️一.前端核心分析 ❤️1.1.概述 ❤️1.2.前端三要素 ...

最新文章

  1. Git 最全命令总结都在这里了
  2. 与14级团队同学的约定
  3. devDependencies和dependencies的区别
  4. python入门指南 许半仙 txt-第1题_峥嵘_玄幻奇幻_百家网
  5. 修改oracle用户登录密码
  6. 时钟源为什么会影响性能
  7. 神经网络优化:指数衰减计算平均值(滑动平均)
  8. python中的面向对象
  9. update 千万数据_mysql学习(四)数据库
  10. ZZULIOJ 1058: 求解不等式
  11. 云计算-大数据-云安全高等教育改革示范教材
  12. UITextFiled 简介
  13. Java 继承思想 及其在 Minecraft mod中相关应用
  14. python打印九九乘法表上三角_用Python打印九九乘法表正三角和倒三角。
  15. Codeforces Round #362 (Div. 2) D 树形dp
  16. latex如何设置字体并加粗_Latex设置字体大小,加粗,加下划线,变斜体_孩纸气_新浪博客...
  17. vue设置div块隐藏与显示(v-show)
  18. 克劳特法matlab,经验模式分解matlab
  19. 使用ventoy制作PE(可同时存在多个PE)——(有图文)
  20. OLAP系统建模方法

热门文章

  1. My deep learning reading list
  2. 危险进程大集合咯!(吐血推荐)
  3. 加密工具和unlocker的使用
  4. 如何创建自己的ESLint配置包
  5. 元组、列表、字典及集合练习
  6. c语言怎么创建一个h文件,求助C语言大佬 , 只会写到一个.c文件里 ,不会用.h头文件...
  7. 哪些人适合参加软件测试培训?
  8. 什么是安全测试?哪些阶段需要安全测试?
  9. maven jar包冲突常见报错及解决方法
  10. 【SqlServer】SqlServer中的更新锁(UPDLOCK)