实际开发中不常用js,而使用jquery框架进行开发,它是优秀的js库
前段时间分享了一些js,但实际开发中并不常用js,而是使用jquery框架进行开发,它是一个优秀的js库
它有很多版本,大多数使用1.8.3颇多
二者内容一样,我们开发用大的,这样方便查看源码 ,学习jquery的关键是学习它和js之间的区别,只要了解到了区别就可以学会了。比如
js中页面window.onload加载只能写一个,写多个的话,会产生覆盖问题,即前一个不会运行,只会运行最后的那个window.onload
jquery中的加载jQuery(document).ready(function(){..});可以写多个,不会产生覆盖问题,那么运行的话,会从上往下一个接一个依次运行
jQuery(document).ready(function(){..})等于$(document).ready(function(){..});等于$(function(){..});这三种格式都是jquery中的页面加载,其中第三种最为简便
jquery和js的页面运行速度想比较,js的慢,需要整个页面加载完毕才运行,而jquerydom树加载完毕就会运行
js中获取对象要通过document.getElementById("id值")的方式获取,jquery则通过$("#id值")的方式获取
js中添加点击事件需要document.getElementById("id值").onclick=function(){}
jquery中添加点击事件需要$("#id值").click(function(){..});这个一个是onclick,一个是click,这是区别,而且格式也不一样
js中添加文本是对象。innerHTML=“文本”;jquery中添加文本是对象。html(文本);也就是说jquery无法使用dom中的属性和方法,反之也一样
要想让jquery可以使用dom的方法和属性,就应该让jquery对象转成dom对象
方式一$("#id").get(0)
方式二$("#id")[0]
这里有一个问题是$(),括号中的可以是#id,.class或者直接是标签名,在jquery中就表示获取了对象之所以get(0),是因为id唯一,而其他的可不唯一,数字为几就表示获取第几个对象
同样,dom对象也可以转成jquery对象
var spanEle=document.getElementById("span1");
$(span),用着$(dom对象)把dom对象一括,就将dom对象转成了jquery对象
js中使用样式需要获取所要使用对象之后.style.dom属性=属性值
比如对象.style.backgroundColor="red";
而jquery中不可以通过这种方式,而是应该通过对象.css(css属性,属性值)这种方式在jquery中为对象添加样式
比如对象.css("background-Color","red");
jquery中可以通addClass(class)的方式给与一个标签添加class属性,但是要注意一点的是,如果此前改标签存在class属性,那么这个添加就会失败,不会覆盖
removeClass(class)可以通过这个操作来删除class
toggleClass(class)可以通过这个操作来删除或添加class,如果当前class存在,则删除,如果当前class不存在则清空,这个可以完成切换的目的
jquery中设置选中标签的某个属性值为:
下面就是将选中标签的checked属性设置为true
$("input[name='newsletter']").attr("checked",true)
attr这个式jquery1.8的版本,之后的版本都改为了prop
$("input[name='newsletter']").attr("checked",true)