新知识:JQuery语法基础与操作
jQuery是一个快速、简洁的JavaScript框架,它让我们的代码变得更简捷,大大减少了我们的工作量,今天就来简单学习一下有关jQuery的语法和基础操作 ↓↓↓
NO.1 jQuery语法基础
1、使用JQuery必须先导入jquery.x.x.x.js文件。
<script src="js/jquery-3.1.1.js"></script>
2、JQuery中的选择器:
$("选择器名称").函数名();
!!!注意:$是jQuery的缩写,也就是说,选择器可以使用 jQuery(":input")
3、JQuery 文档就绪函数:
$(document).ready(function(){
// JQuery代码
console.log(jQuery(":input:disabled"));
});
简写形式:$(function(){});
【JQuery文档就绪函数与window.onload的区别】
① window.onload必须等待网页资源(包括图片等)全部加载完成后,才能执行;
文档就绪函数只需等到网页DOM结构加载完成后,即可执行。 ② window.onload在一个页面中,只能写一次;
文档就绪函数在一个页面中,可以有N个。
4、JS对象和jQuery对象:
① 使用$("")取到的节点为jQuery对象,只能调用JQuery方法,不能调用原生JS方法。
$("#div").click(function(){}); // √
$("#div").onclick = function(){}; // × JQuery对象不能调用原生JS方法
② 同理,使用getElement系列函数取到的为JS对象,也不能调用JQuery函数。
【jQuery对象与JS对象的相互转换】
① jQuery转JS:使用.get(index) 或 [index] 选中的就是JS对象;
$("div").get(0).onclick = function(){}
或 $("#div1")[0].onclick = function(){} ② JS转jQuery:使用$()包裹JS对象。
var div = document.getElementsByTagName("div");
$(div).click(function(){});
5、解决jQuery多库冲突问题:
页面中如果同时引入多个JS框架,可能导致$冲突。
解决办法:
① 使用jQuery.noConflict();使用JQuery放弃在全局中使用$;
② 使用jQuery关键字替代$,或者使用一个自执行函数:
!function($){
// 在自执行函数中,可以使用$替代jQuery
// 除自执行函数外的其他区域,禁止jQuery使用$
}(jQuery);
代码示例:
jQuery.noConflict();
!function($){
$(function(){
// JS转JQuery
var div = document.getElementsByTagName("div");
$(div).click(function(){
alert(1);
}); // JQuery转JS
$("div").get(0).onclick = function(){
alert(1);
} });
}(jQuery);
NO.2 jQuery文档处理
一、JQuery中的DOM操作
1、内部最后面添加
append:在div1的内部,最后追加一个图片(在A中添加b)
$("#div1").append("<img src='../01-HTML基本标签/img/QQ图片1.gif'/>");
appendTo:把一个图片追加到div1的内部最后(将b添加到A中)
$("<img src='../01-HTML基本标签/img/QQ图片2.gif'/>").appendTo("#div1");
2、内部最前方插入
prepend:
$("#div1").prepend("<img src='../01-HTML基本标签/img/QQ图片1.gif'/>");
prependTo:
$("<img src='../01-HTML基本标签/img/QQ图片2.gif'/>").prependTo("#div1");
3、在div1的外部,后面插入节点
after:
$("#div1").after("<p>这是一个p</p>");
insertAfter:
$("<p>11111</p>").insertAfter("#div1");
4、在div1的外部,前面插入节点
before:
$("#div1").before("<p>这是一个p</p>");
insertBefore:
$("<p>11111</p>").insertBefore("#div1");
用JS添加:
var div1 = document.getElementById("div1");
var first = div1.firstChild;
var p = document.createElement("p");
p.innerText = "123";
div1.appendChild(p);
div1.insertBefore(p,first);
document.body.insertBefore(p,div1);
5、为每一个选中的节点,都套一层父节点。
wrap:
$("div").wrap("<section></section>");
wrapAll:
$("div").wrapAll("<section></section>");
6、将选中的所有节点,包裹在同一个父节点中
wrapAll:
$("p").wrapAll("<section></section>"); // ×
$("div~p").wrapAll("<section></section>");
7、删除选中节点的父节点
unwrap:
$("#div1 p").unwrap();
8、将选中节点中的所有子元素,包裹在一个新的父节点中;
新的父节点依然是当前元素的唯一子节点
wrapInner:
$("#div1").wrapInner("<div></div>");
9、将所有选中的节点,重新替换为新的节点
replaceWith:
$("div p").replaceWith("<span>1</span>");
replaceAll:
$("<span>1</span>").replaceAll("div p");
只替换标签:
$("div p").wrapInner("<span></span>");
$("div p>span").unwrap();
10、empty:清空当前节点内容,但会保留当前节点标签
$("#div1").empty();
remove:删除当前节点,以及当前节点的所有子节点
$("#div1").remove();
detach:删除当前节点,以及当前节点的所有子节点
$("#div1").detach();
【remove和detach的区别】
① 使用remove删除的节点,如果恢复以后,将不再保留节点所绑定的事件;
② 使用detach删除的节点,在节点恢复以后,可以恢复节点之前所绑定的事件。 案例:↓ $("#div1").click(function(){
alert(123);
}); var div1 = null;
$("button:eq(0)").click(function(){
div1 = $("#div1").remove();
}); $("button:eq(1)").click(function(){
div1 = $("#div1").detach();
}); $("button:eq(2)").click(function(){
$("#div2").before(div1);
});
11、clone:克隆
$("#div1").clone(true).empty().insertBefore("button:eq(0)");
JS中cloneNode() 与 JQuery中clone() 区别:
| cloneNode() |
a. 如果不传参数或者参数传入false,表示只克隆当前节点,不克隆子节点; b. 如果参数传入true,表示克隆当前节点以及所有子节点。 |
| clone() |
a. 无论传入true还是false都会克隆当前节点以及所有子节点; b. 传入true表示克隆节点的同时将包括节点所绑定的事件; c. 否则,只表示克隆节点,而不克隆绑定的事件。 |
二、CSS和属性操作
1、设置节点的属性
$("#div1").attr("class","cls");
2、传入对象,以键值对的形式同时设置多对属性
$("#div1").attr({
"class":$("#div1").attr("class")+"cls1",
"name":"name1",
"style":"font-size:24px;color:blue"
});
3、取到节点的属性
console.log($("#div1").attr("id"));
4、删除节点属性
$("#div1").removeAttr("class");
5、prop 和 attr一样,都可以对节点属性进行读取和设置
【两者的不同】
在读取 属性名="属性值" 的属性时,attr将返回属性值和undefined;而prop将返回true或false;
也就是说,attr要取到的属性,必须是在标签上已经写明的属性,否则无法取到。
6、在原有class的基础上,新增class名字
$("#div1").addClass("cls1");
7、 删除指定的class名称,其余未删除的class名,依然保留
$("#div1").removeClass("cls cls1");
8、 toggleClass 切换class:如果有指定class就删除,如果没有就新增。
$("button:eq(0)").click(function(){
$("#div1").toggleClass("div1");
});
9、.html:取到或设置节点中的html代码;
.text:取到或设置节点中的文本;
.val:取到或设置表单元素的value值;
console.log($("#div1").html("<p>11111</p>").html());
console.log($("#div1").text("<p>11111</p>").text());
console.log($("input:eq(1)").val("<p>11111</p>").val());
10、.css():给节点添加css样式,属于行级样式表权限
$("#div1").css("color","green");
同时给一个节点添加多对css样式
$("#div1").css({
"color":"yellow",
"font-size":"24px"
});
通过回调函数返回值,修改css样式: 修改div的宽
$("button:eq(0)").click(function(){
var id = setInterval(function(){
$("#div1").css({
"width":function(index,value){
var v = parseFloat(value) +1;
if(v>600){
clearInterval(id);
}
return v + "px";
}
});
},10);
});
11、取到或者设置节点的宽高
console.log($("#div1").height(400));
console.log($("#div1").width("400px"));
12、取到节点的宽度+padding,不包含border和margin
console.log($("#div1").innerHeight());
console.log($("#div1").innerWidth());
13、不传参数,表示 宽高+padding+border
console.log($("div1").outerHeight());
传入true,表示 宽高+padding+border+margin
console.log($("div1").outerWidth(true));
14、返回一个节点,相对于浏览器左上角的偏移量
返回一个对象{top: 31, left: 8}
此方法,测量时,会将margin算作偏移量的距离
console.log($("#div1").offset());
15、 返回一个节点,相对于父容器的偏移量
注意:
① 使用此方法,要求父元素必须是定位元素,如果父元素不是定位元素,则依然是相对于浏览器左上角测量
② 此方法,测量偏移量时,将不考虑margin,而会将margin视为当前容器的一部分
console.log($("#div1").position());
16、scrollTop:、设置或取到指定节点的滚动条位置
console.log($("#div1").scrollTop(100));
关于jQuery的基础语法和操作就简单介绍到这里... ...
新知识:JQuery语法基础与操作的更多相关文章
- Jquery语法基础
Jquery语法基础 一.Jquery一般语法格式为:$(selector).action() l 美元符号定义 jQuery (又称工厂函数) l 选择器(selector)“查询”和“查找” ...
- jQuery语法基础&选择器
jQuery 语法 jQuery 语法是为 HTML 元素的选取编制的,可以对元素执行某些操作. 基础语法是:$(selector).action() 美元符号定义 jQuery 选择符(select ...
- python语法基础-异常操作-长期维护
############### python-异常的操作 ############### # 异常:python解释器遇到一个错误,会停止程序的执行,并且提示错误信息,这就是异常, # 抛出异 ...
- python语法基础-文件操作-长期维护
############### python-简单的文件操作 ############### # python中文件的操作 # 文件操作的基本套路 # 1,打开文件,默认是是只读方式打开文件 ...
- jQuery基础(1) -- jQuery 语法
通过 jQuery,您可以选取(查询,query) HTML 元素,并对它们执行"操作"(actions).jQuery 语法jQuery 语法是通过选取 HTML 元素,并对选取 ...
- jQuery的基础语法实例
jQuery 基础语法 jQuery 语法是为 HTML 元素的选取编制的,可以对元素执行某些操作. 基础语法是:$(selector).action() 美元符号定义 jQuery 选择符(sele ...
- python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。
本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...
- Oracle知识梳理(三)操作篇:SQL基础操作汇总
Oracle知识梳理(三)操作篇:SQL基础操作汇总 一.表操作 1.表的创建(CREATE TABLE): 基本语句格式: CREATE TABLE table_name ( col_ ...
- 【jQuery基础学习】04 jQuery中的表格操作及cookie插件的使用
这章本来准备写成jQuery的表单操作和表格操作的. 然而昨天吧jQuery的表单操作看完,发现全部在炒之前章节的剩饭,所以就没写出来. 那么今天就来看看表格吧. 因为平常做的都是公司的内部管理系统, ...
随机推荐
- linux内核中默认logo的具体位置
/driver/logo/... 以下这个目录下对应的是logo的设置
- iOS开发xcode报错:"xxxxxx"has been modified since the precompiled header was built
最近做iOS开发,老是遇到这种问题,正好我有两个版本的Xcode,换了另一个,就正常了,所以也一直没解决. 今天又遇到这个问题,就查了一下资料,找到了解决办法,在次记录一下方便查找,就是在Xcode中 ...
- 使用WakeLock使Android应用程序保持后台唤醒
在使用一些产品列如微信.QQ之类的,如果有新消息来时,手机屏幕即使在锁屏状态下也会亮起并提示声音,这时用户就知道有新消息来临了.但是,一般情况下手机锁屏后,Android系统为了省电以及减少CP ...
- 9.8、Libgdx的返回键和菜单键捕获
(官网:www.libgdx.cn) 当用户在Android设备中点击返回键是,通常关闭当前运行的activity.游戏可能会给出一个确认对话框让用户选择退出或继续.要这样的话需要捕获返回键: Gdx ...
- (四十七)Quartz2D引擎初步
Quartz2D是跨平台的,同时支持iOS与Mac. 支持圆型裁剪,可以实现圆形头像等功能,也支持手势解锁.折线图等的制作. 对于复杂的UI界面,还可以通过Quartz2D将控件内部的结构画出来,可用 ...
- [信号处理技术]关于EMD的产生
通俗易懂,有助于理解EMD和HHT,就原封不动的搬过来了. 原文链接:关于EMD的产生 自傅里叶变换与频谱分析技术产生,人们得以从另外一个角度观察时域信号,信号里各个点的密集程度,得以确定性地度量.之 ...
- 【Linux 操作系统】Ubuntu 配置 ftp freemind adb
. 1. 配置apt-get源 配置过程 : sudo vim /etc/profile 命令, 在后面添加下面的内容; 刷新配置文件 : source /etc/profie 命令; 刷新源 : s ...
- 对Linux0.11 中 进程0 和 进程1分析
1. 背景 进程的创建过程无疑是最重要的操作系统处理过程之一,很多书和教材上说的最多的还是一些原理的部分,忽略了很多细节.比如,子进程复制父进程所拥有的资源,或者子进程和父进程共享相同的物理页面,拥有 ...
- R--线性回归诊断(一)
线性回归诊断--R [转载时请注明来源]:http://www.cnblogs.com/runner-ljt/ Ljt 勿忘初心 无畏未来 作为一个初学者,水平有限,欢迎交流指正. 在R中线性回 ...
- 《Ext JS 4.2 实战》可以买了
今天编辑告诉我,在网上可以买到这书了,购买链接是http://www.amazon.cn/Ext-JS-4-2%E5%AE%9E%E6%88%98-%E9%BB%84%E7%81%AF%E6%A1%A ...