百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

jquery学习(jquery基础教程详解)

toyiye 2024-09-09 08:57 3 浏览 0 评论

window.onload=function(){}

onload在dom层和页面加载的资源都加载完成才执行,onload只有一个有效,如果存在多个,后面的覆盖前面的

$(document).ready(function(){}) == $(function(){ });

ready函数只需要在dom层渲染完毕就会执行,ready可以存在多个,按照顺序依次执行


let box=document.getElementById("box"); js获取dom对象

let $box=$(box); 直接jq工厂函数转换dom对象为jq对象

let $box=$("#box"); jq id选择器获取jq对象

let divDom=div[0] 或者 div.get(0); jq对象转dom对象,表现为dom对象的数组形式


jQuery选择器:

通配符选择器:

$("input[id^='code']"); id属性以code开头

$("input[id$='code']"); id属性以code结尾

$("input[id*='code']"); id属性含code

$("input[id!='code']"); id属性不等于code


ID选择器:$("#code"); 零个或者第一个

类选择器:$(".code"); 零个或者多个

属性选择器:$("[id$='code']"); 零个或者多个

$("div[id]"):选择所有含有id属性的div元素

标签选择器:$("div"); 零个或者多个

并集选择器:$("th,td"):以逗号隔开,th和td标签

交集选择器:$("input.txtBox#userName"):多个选择器拼在一起,缩小匹配的范围

表单元素选择器:

$(":input")

$(":hidden")

层级选择器:

$("div p") == $("div").find("p"):匹配所有div元素中的p元素

$("div>p") == $("div").children("p"):匹配所有div元素中的直接子节点p元素

$("div>*") == $("div").children("*"):匹配所有div元素中的直接子节点元素 ,不含间接

$("div+p") == $("div").next("p"):匹配所有紧接在div元素后的p元素,相邻

$("div~p") == $("div").nextAll("p") != $("div").siblings("p"):

匹配div元素之后的所有兄弟p元素,同一父元素


过滤选择器:

$("li:odd"):匹配索引为奇数的所有li标签

$("li:even"):匹配索引为偶数的所有li标签

$("li:eq(0)") == $("li").eq(0) == $("li:first") :匹配第一个li标签

$("li:gt(4)")


表单元素过滤选择器 :

$(":enabled"): 匹配所有的可操作的表单元素
$(":disabled"): 匹配所有的不可操作的表单元素
$(":checked"): 匹配所有的被checked的表单元素

$("select option:selected"):

$("input:not(:checked)") == $("input").not(":checked")


可视化过滤选择器:

$("div:hidden"):匹配所有被hidden的div元素
$("div:visible"): 匹配所有可视化的div元素


内容选择器:

$("div:contains('John')"): 匹配所有div中含有John文本的元素
$("td:empty"): 匹配所有节点为空的td元素的数组
$("div:has(p)"): 匹配所有含有p标签的div元素
$("td:parent"): 匹配所有以td为父节点的元素数组


动画元素选择器:

$("div:animated"):匹配所有具有动效的div元素


常用函数:

children(selector)

find(selector)

eq(index)

siblings(selector)

next(selector)

nextAll()

prev(selector)

parent()

parents(selector): 从父元素开始匹配,匹配到的集合再用给定的选择器过滤,匹配多个

closest(selector):从当前元素开始匹配,直接匹配到元素就终止,最多就匹配1个

animate({width:"50%"},"slow"); 动画函数

end(): 在老的元素集基础上,继续匹配新的元素

$('ul.first').find('.foo').css('background-color', 'red').end().find('.bar').css('background-color', 'green')

map:

$("input").map(function(){ return $(this).val(); }).get().join(", ")

$.each():

内部return true == continue ;

内部return false == break;


属性:

$("div").attr("title") = $("div").prop("title"): 获取原生属性attr和prop结果相同

$("input").attr("checked"): 选中结果为checked否则undefined

$("input").prop("checked"):选中结果为true否则false

$("input").attr("checked",true/false);

$("input").attr("checked","checked") / $("input").removeAttr("checked");

$("input").prop("checked",true/false); 设置选中/取消

$("div").attr("my","自定义属性"); attr可以设置自定义属性

$("div").prop("my","自定义属性"); prop设置自定义属性无效

$("div").attr({title:"多个属性",id:"d1"}); 设置多个原生属性attr和prop结果相同

获取是 匹配到第一个元素的属性

设置是 匹配到的元素全部都设置属性

attr 与 prop的区别:

对于原生属性其效果都一致,prop不支持自定义属性


操作样式:

$("p").css({color:"red",fontSize:"20px"});

就是直接对标签内的style属性进行设置,

css函数设置时设置匹配到的所有元素,取值只获取第一个匹配元素的值

$("p").addClass("active hover"):追加多个class

$("div").removeClass("active"); 移除class

$("p").hasClass("active"); 判断是否具有

$("p").toogleClass("active"); 切换,有则移除,否则追加

$("p").toogle(fn, fn); 切换操作

操作DOM:

let $p=$("<p>我是jq创建的标签</p>");

$("#box").append($p) == $p.appendTo($("#box")); p元素追加到box的标签的内部结尾

$("#box").prepend($p)==$p.prependTo($("#box")):p元素追加到box的标签的内部开头

$("#box").before($p) / $("#box").after($p); p元素添加到box的标签的前面/后面


empty清空元素/ remove删除元素/ detach删除元素

$("#box").empty(); 清空box元素内所有内容,box会保留,返回值是box

$("#box").remove(); 删除box元素,box消失,返回值是box

$("#box").detach(); 删除box元素,box消失,返回值是box

detach 与 remove, detach删除再次追加回页面,其绑定的时间会跟随回来


$("#box").clone() 与 $("#box").clone(true):加true是复制box节点和其绑定的事件


操作内容:

$("li").text(): 把匹配到的所有元素的文本内容合并为一个字符串

$("li").html(): 只取第一个匹配到的元素内部的内容,包含标签结构

$("input").val(): 只取第一个匹配到的表单元素的value的值

$("li").text("设置文本") != $("li").html("设置文本"); 把所有li标签内容都变为设置文本

$("li").html("dom"): 把所有li标签内容都改为dom元素

$("input").val("val"):所有input标签value属性的值都为val

$("p").wrap("<div class='wrap'></>"): 把匹配到的p元素用div元素包裹起来

html和text函数只对非表单元素有效,val只对表单元素有效


操作位置:

scrollTop()/ scrollLeft()/ offset()/ postion()

事件:

事件名函数方式绑定 / bind绑定 / bind绑定

$("#box").click(function(){}); 只能绑定HTML支持的原生事件

$("#box").bind("click",function(){});

$("#box").on("click mouseover mouserout",function(){})

.unbind("click")/ .off("click")/ .off("click mouseout"):解绑事件

$("#box").trigger("click"); 触发事件

screenX/screenY :屏幕左上角的X/Y轴坐标

clientX/clientY : 浏览器左上角的X/Y轴坐标

pageX/pageY : 页面左上角的X/Y轴坐标

stopPropagation() :阻止事件冒泡到父元素

preventDefault() :阻止元素发生默认的行为

return false; : 阻止事件冒泡和默认行为


动画:

显示(show) / 隐藏(hide)

滑入(slideDown)/ 滑出(slideUp)/ 切换(slideToggle)

淡入(fadeIn)/ 淡出(fadeOut)/ 切换(fadeToggle)

fadeTo :变化到指定透明度


自定义动画: animate函数

function aniDiv(){

$("div:eq(0)").animate({width:"50%"},"fast");

$("div:eq(0)").animate({width:"100%"},"slow",aniDiv);

}

aniDiv();


停止动画:

stop(是否清除队列,是否立即完成当前动画);


自定义插件:

设置静态方法: $.方法名=function([参数列表]);

使用静态方法:$.方法名([实参列表]); $.getRandom(5,25)

(function($){ $.getRandom=function (min,max) {} })(jQuery);

设置实例方法 : $.fn.方法名=function([参数列表]);

使用实例方法:$(selector).方法名([实参列表]); $("box").changeColor("#FFF");

(function($){$.fn.changeColor=function (color) { } })(jQuery);


使元素居屏幕中间位置

$(document).ready(

jQuery.fn.center = function () {

this.css("position","absolute");

this.css("top", ( $(window).height() - this.height() ) / 2+$(window).scrollTop() + "px"); this.css("left", ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + "px"); return this;

}

$("#id").center();

});

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码