该博客基于阮一峰前辈在2011年所做的分享(原链接:)
jQuery的核心就是:可以选择某个网页元素,然后对其进行某种操作
我们可知jQuery是一个构造函数,那么我们就可以通过选择表达式,把选中的元素,放进jQuery构造函数($)当中,从而得到选中的元素。
而选择表达式可以是CSS选择器:
也可以是jQuery特有的表达式:
在jQuery当中最终选中网页元素以后,可以对它进行一系列操作,并且所有操作可以连接在一起,以链条的形式写出来,比如:
拆解开来,就是:
这是jQuery最令人称道、最方便的特点。它的原理在于每一步的jQuery操作所返回的都是一个jQuery对象,所以不同操作可以连在一起。
jQuery还提供了.end()方法,使得结果集可以后退一步:
创建新元素的方法非常简单,只要把新元素直接传入jQuery的构造函数就行了:
操作元素在网页中的位置移动有两种方法:
(1)直接移动该元素;
(2)移动其他元素,使得目标元素达到我们想要的位置。
(1)方法是使用.insertAfter(),把div元素移动p元素后面:
(2)方法是使用.after(),把p元素加到div元素前面:
表面上看,这两种方法的效果是一样的,唯一的不同似乎只是操作视角的不同。但是实际上,它们有一个重大差别,那就是返回的元素不一样。第一种方法返回div元素,第二种方法返回p元素。你可以根据需要,选择到底使用哪一种方法。
使用这种模式的操作方法,一共有四对:
text(?)//读写文本内容
用于返回内容时,则返回所有匹配元素的文本内容(会删除HTML标记)。
用于设置内容时,则重写所有匹配元素的内容。
html(?)//读写HTML内容
设置或返回被选元素的innerHTML(文本+HTML标记)
attr('title',?)//读写属性
设置或返回被选元素的属性值。
css({color:'red'})//读写style
设置或返回被选元素的一个或多个样式属性。
addClass('blue')
向被选元素添加一个或多个类。
该方法不会移除已存在的class属性,仅仅添加一个或多个class属性。
on('click',fn)
支持动态绑定元素,即页面上元素有添加或变化后仍可绑定,前提是selector须是目标绑定元素的父元素
off('click',fn)
用于移除通过on()方法添加的事件处理程序
jQuery的使用方法
使用步骤如下:
1.jQuery给放到一个文件夹里面,方便我们待会引用这个jQuery,这里我就放到我项目的js文件夹里面。
2.然后我们来开始编辑HTML界面代码。
3.使用script标签把jQuery引入到我们的HTML界面。src引号里面的就是我们的jQuery路径名称。
4.接着再书写一个script标签对,里面写上jQuery入口函数,这样,当我们的HTML加载完成之后就会执行我们的jQuery代码
jQuery常用属性和方法有哪些属性:
获得标签:$("#id")
获得标签内的代码:.html()
获得标签内的文本:.text()
修改标签内的代码:.html("内容");
修改标签内的文本:.html("内容");
获得标签属性:.attr("属性");
修改标签属性:attr("属性","属性值");
添加样式:addClass("样式名");
动态切换样式:toggleClass("样式名");
获取样式:css
添加元素:append("元素");
移去元素:.remove();
清空节点:.empty();
获取第二个li节点:var$li=$("ulli:eq(1)");
获取第二个li节点的文本内容:varli_txt=$
方法:
一:插入节点:
append()向每个匹配的元素文本内部的后面追加内容
eg:p我想说:/p
代码:
?$("p").append("b你好/b");
结果为:p我想说:b你好/b/p
appendto()将所有的匹配的元素追加到指定的元素中。实际上,使用该方法是颠倒了常规的$(A).append(B)的操作,即不是B追加到A中,而是将A追加到B文本的后面中。
eg:p我想说:/p
代码:
$("b你好/b").appendTo("p");
结果为:p我想说:b你好/b/p
prepend()向每个匹配的元素文本的内部前置内容。
eg:p我想说:/p
代码:
$("p").prepend("b你好/b");
结果为:pb你好/b我想说:/p
prependto()将所有的匹配的元素前置到指定的元素中。实际上,使用该方法是颠倒了常规的$(A).append(B)的操作,即不是B前置到A中,而是将A前置到B中
eg:p我想说:/p
代码:
$("b你好/b").prependto("p");
结果为:pb你好/b我想说:/p
after()向每个匹配的元素之后插入内容。
eg:p我想说:/p
代码:
$("p").after("b你好/b");
结果为:p我想说:b你好/b/p
insertAfter将所有的匹配的元素插入到指定的元素后面。实际上,使用该方法是颠倒了常规的$(A).append(B)的操作,即不是B插入到A后面,而是将A插入到B后面。
eg:p我想说:/p
代码:
$("b你好/b").after("p");
结果为:p我想说:b你好/b/p
before()在每个匹配的元素之前插入内容
eg:p我想说:/p
代码:
$("b你好/b").after("p");
结果为:p我想说:b你好/b/p
insertBefore():将A标签插入到B标签的前面
二:删除:
①remove该节点所包含的所有的后代节点将同时被删除也可以通过参数来选择
②empty清空节点,它能清空元素中的所有后代节点
三:替换节点:
①replaceWith()作用是将所有匹配的元素都替换成指定的HTML或DOM元素
②replaceAll()
四:包裹节点:
①warp()作用是是将所有元素进行单独包裹
②warpAll()作用元素的是所有匹配的元素用一个元素来包裹
③warpinner()作用是将每一个的子内容(包括文本节点)用其他结构化的标记包裹起来
五:设置和获取HTML、文本值
1、html():
2、text
3、val
六:遍历节点
1、children():取得匹配元素的子元素
2、next():取得匹配元素后面紧邻的同辈元素
3、prev():取得匹配元素前面紧邻的同辈元素
4、siblings():取得匹配元素前后所有的同辈元素
5、closest():取得最近的匹配元素
七:css-dom
css获取样式的属性
offset()
position
scroll
scrollLeft
样式操作:
1:获取样式和设置样式attr
eg:pclass="myClass"title="选择你最喜欢的水果"你最喜欢的水果是?/p
获取样式:varp_class=$("p").attr("class");
设置样式:$("p").attr("class","high");
2:追加样式addClass
style
.high{
font-weight:bold??粗体字
color:red?????????字体颜色
}
.another{
font-weight:italic??斜体字
color:blue??????????字体颜色
}
/style
追加样式:
?$("input:eq(2)").click(function(){$("p".addClass("another"))})
☆在css中有以下规定:
①如果给一个元素添加了多个class值,那么就相当于合并了他们的样式
②如果不同的class设置了同一样式,则后者覆盖前者
addClass?????????????????????????????????????attr
对同一个网页元素进行操作????????ptest/p????????????????????????????????ptest/p
第一次使用???????????????????????$"p".addClass("high");??????????????????$"p".attr("class","high");
第一次结果???????????????????????pclass="high"test/p???????????????????pclass="high"test/p???
再次使用?????????????????????????$"p".addClass("another");????????????????$"p".attr("class","another");
最终结果?????????????????????????pclass="highanother"test/p????????????pclass="another"test/p
3:移除样式removeClass
pclass="highanother"test/p?
移除一个:$"p".removeClass("high");
移除二个:$"p".removeClass("high").removeClass("another");==$"p".removeClass("highanother")
移除全部:$"p".removeClass();
4:切换样式toggle
5:判断是否含有摸个样式hasClass
可以用来判断元素中是否含有某个class,如果有返回true否则返回false
jquery常用使用方法新窗口打开链接XHTMLStrict版本不支持target="_blank"属性而使用JQuery能很好地解决这个问题实现新窗口打开网页
复制代码代码如下:
$(a[@rel$=external])click(function(){thistarget="_blank";});/*Usage:ahref="target=_blankcss教程("padding""emem");//BTargetanythingaboveIEif($browsermsie$browserversion)$("#menulia")css("padding""emem");//CTargetIEandbelowif($browsermsie$browserversion=)$("#menulia")css("padding""emem");//DTargetFirefoxandaboveif($browsermozilla$browserversion="")$("#menulia")css("padding""emem");
字符串替换用JQuery能对文本内容中的特定字符串进行替换操作
复制代码代码如下:
varel=$(#id);el(el()replace(/word/ig""));
列高度相等用CSS实现两列高度相等并不容易JQuery能帮你解决
复制代码代码如下:
functionequalHeight(group){tallest=;groupeach(function(){thisHeight=$(this)height();if(thisHeighttallest){tallest=thisHeight;}});groupheight(tallest);}/*Usage:$(document)ready(function(){equalHeight($("recentarticle"));equalHeight($("footercol"));});*/
字体大小重设字体大小重设是一个非常常用的功能
$("resetFont")click(function(){$()css(fontsizeoriginalFontSize);});//IncreaseFontSize$("increaseFont")click(function(){varcurrentFontSize=$()css(fontsize);varcurrentFontSizeNum=parseFloat(currentFontSize);varnewFontSize=currentFontSizeNum*;$()css(fontsizenewFontSize);returnfalse;});//DecreaseFontSize$("decreaseFont")click(function(){varcurrentFontSize=$()css(fontsize);varcurrentFontSizeNum=parseFloat(currentFontSize);varnewFontSize=currentFontSizeNum*;$()css(fontsizenewFontSize);returnfalse;});});
禁用右键菜单有许多JavaScript代码段可禁用右键菜单但JQuery使操作变得更容易
复制代码代码如下:
jQuery中常用的方法有哪些?这些方法都是用来做什么的?jQuery的这些方法是放到什么地方的?按以下几类分解
一、选择器(定位元素方法)方法
$("各种类型选择器")
二、筛选方法
$("xxx").find()等
三、对DOM元素的增、删、改方法
如append/remove/html/clone等
四、对DOM元素属性的增、删、改方法
如attr/css/val等方法
五、对集合的处理方法
如json/each等方法
六、对事件的绑定方法
如click/bind/live/toggle等方法
七、其它常用方法
如ajax等
logo设计
创造品牌价值
¥500元起
APP开发
量身定制,源码交付
¥2000元起
商标注册
一个好品牌从商标开始
¥1480元起
公司注册
注册公司全程代办
¥0元起
查
看
更
多