$(function(){
...//此处为页面DOM加载完成的入口
})
或者
$(doucument).ready(function(){
...//此处为页面DOM加载完成的入口
})
等着DOM结构渲染完毕即可执行内部代码,不必等到所有外部资源加载完成,jQuery帮我们完成了封装。
相当于原生js 中的LOMContentloaded.
不同于原生js 中的 load事件是等页面文档、外名的js文件、css文件、图片加载完毕才执行内部代码。
$是jQuery的别称,在代码中可以使用jQuery代替$,但一般为了方便,通常都直接使用$。
$是jQuery的顶级对象,相当于原生JavaScript中的window。把元索利用$包装成jQuery对象,就可以调用jQuery的方法。
2.jquery获取的对象是以伪数组的方式存在的。
var ca = document.querySeletor('video'); // DOM对象转化为JQuery对象 $('video'); //在括号中用引号写标签名或者 .类名 或者 #id. //$(ca).play() 是不被允许的jQuery中没有play方法需要转换 $('ca')[0].play()
名称 | 用法 | 描述 |
---|---|---|
ID选择器 | $(""#id"") | 获取指定ID的元素 |
全选选择器 | $("*") | 匹配所有元素 |
类选择器 | $(".class") | 获取同一类class的元素 |
标签选择器 | $("div") | 获取同一类标签的所有元素 |
并集选择器 | $("div,p,li") | 选取多个元素 |
交集选择器 | $("li.current") | 交集元素 |
名称 | 用法 | 描述 |
---|---|---|
子代选择器 | $( "ul>li"); | 使用>号,获取亲儿子层级的元素;注意,并不会获取孙子层级的元素 |
后代选择器 | $("ul li"); | 使用空格,代表后代选择器,获取ul下的所有li元素,包括孙子等 |
语法 | 用法 | 描述 |
---|---|---|
:first | $('li:first') | 获取第一个li元素 |
:last | $('li:last') | ... |
:eq(index) | $('li:eq(2)') | 获取li元素中序号为2的元素 |
:odd | ;;; | ::: |
:even | ;;; | 偶数 |
隐式迭代(重要)
遍历内部 DOM元素(伪数组形式存储)的过程就叫做隐式迭代。
简单理解:给匹配到的所有元素进行循环遍历,执行相应的方法,而不用我们再进行循环,简化我们的操作,方便我们调用。
链式编程
一种简化代码的书写方式。
参数只写属性名,则是返回属性值
//$(this).css("color"");
参数是属性名,属性值,逗号分隔,是设置一组样式,属性必须加引号,值如果是数字可以不用跟单位和引号
//$(this).css("color" ;, "red");
参数可以是对象形式,方便设置多组样式。属性名和属性值用冒号隔开,属性可以不用加引号,
//$(this).css({ "color":"white" ," font-size":" 20px");
//$(this).css({
color:"white" ,
font-size:" 20});
显示与消失。
show(速度,曲线,回调函数)
hide(一样)
toggle([speed],[easing],[fn])
如果元素是可见的,切换为隐藏的;如果元素是隐藏的,切换为可见的。
滑动,
slideDown([s],[e],[fn])
slideUp([s,[e],[fn]])
slideToggle([s],[e],[fn])
通过高度变化来切换所有匹配元素的可见性,并在切换完成后可选地触发一个回调函数。
这个动画效果只调整元素的高度,可以使匹配的元素以“滑动”的方式隐藏或显示。在jQuery 1.3中,上下的padding和margin也会有动画,效果更流畅。
事件切换
hover([over,]out) hover(function(){},function(){})
一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法。这是一个自定义的方法,它为频繁使用的任务提供了一种“保持在其中”的状态。
当鼠标移动到一个匹配的元素上面时,会触发指定的第一个函数。当鼠标移出这个元素时,会触发指定的第二个函数。
而且,会伴随着对鼠标是否仍然处在特定元素中的检测(例如,处在div中的图像),如果是,则会继续保持“悬停”状态,而不触发移出事件(修正了使用mouseout事件的一个常见错误)。
(1) 动画或效果队列
动画或者效果一旦触发就会执行,如果多次触发,就造成多个动画或者效果排队执行。
element.stop().animate({ width:100, })
(2) 停止排队
stop()方法用于停止动画或效果。 注意: stop()写到动画或者效果的前面,相当于停止结束上一次的动画。
获取元素的固有属性使用 porp('herf'),同时也可以用于设置属性值prop('name','jahn')。
获取元素自定义的属性 attr("herf"),类似于原生中的setattribute(),getattribute().
数据缓存,date('yourname','keea'),这个是把数据储存到元素的内存中,
也可以获取H5的自定义属性。
购物车全选练习
.change()事件可以监听元素状态的改变。
:checked选择器可以选出被选中的复选框,返回的是一个对象。
当全选框被选中时利用prop(),将每一个子选框的属性修改。
element.html()获取和修改元素中的内容,相当于js 中的 innerHTML(),同时要修改就在括号中添加内容。
text(), 获取和修改元素中的文本内容。相当于 innertext()
val(), 获取和修改表单中的值,value。
toFixed(3)计算结果保留3位小数。
substr(1) 字符串截取 ,如:p = $23.33 , p.substr(1) = 23.33;
parents('') 可以返回指定的祖先元素。
$('div').each(function(index,DOMelement){ var arr = ['blue','green', 'yellow']; $(DOMelement).css("color",arr[index]); })
$.each(arr,function(i,ele){ console.log(i); //数组中的序号 console.log(ele);// 数组元素 }) // 遍历对象。 $.each({ name:'hahh', age: 12, },function(i,ele){ console.log(i); //输出的是name,age等属性名 console.log(ele);// 输出属性值。 })