jQuery 常用方法(回调函数)
- [x] jQuery中的回调函数
|
|
- [x] jQuery中常这么用回调函数
$(function() {})
等同于<–>$(document).ready(function() {})
作用- HTML加载完
- 形成一个闭包
|
|
jQuery 常用方法
属性操作
[x]
attr(attr, val)
获取设置元素属性123456$mydiv.attr('name', 'li');$mydiv.attr({index: 1,name: "你好"});$mydiv.removeAttr('name');[x]
prop()
获取设置元素属性(和attr属于两套方式,不能混用)
内置可提现在HTML结构中提现出,不是内置的不能提现但可获取值1234567$mydiv.prop('name', "li"); //设置成功,但是在行内看不到$mydiv.prop('style', "width:100%"); //设置成功,行内可见$mydiv.removeProp('name');$mydiv.prop({name:"你好"'style', "width:100%"});
attr和prop的区别
attr一般用于自定义属性
prop一般用于内置属性(尤其表单元素操作)
$(‘input’).prop(‘checked’, true); //设置选中
[x]
class类的
123$('div',$mydiv).addClass('children');//上下文$mydiv的所有div添加class(每个元素调用addClass())$('div',$mydiv).removeClass('children');$('div',$mydiv).toggleClass('children'); //如有c1那么就删除,如没有c1那么就添加- [ ] jQuery中的遍历 等同于
$('div',$mydiv).addClass('children');
for循环
12345var $childList=$('div',$mydiv);var $childList=$('div',$mydiv);for(var i=0;i<childList.length;i++){$($childList[i]).addClass("children");//$childList[i]是原生js元素}each() :可以遍历jQuery集合中每一项(和数组中forEach类似,参数相反)
123456var $childList=$('div',$mydiv);$childList.each(function(index,item){$(this).addClass("children");//this-->当前遍历这一项的内容item// $(item).addClass("children");})
- [ ] jQuery中的遍历 等同于
[x]
html()、text()、val()
[ ] html()
==>
innerHTML12$mydiv.html(); //获取$mydiv的html$mydiv.html("aaaa") //设置$mydiv的html为aaaa[ ] text()
==>
innerText12$mydiv.text(); // 获取$mydiv.text('fff'); //设置[ ] val() 表单元素
12$('#input').val(); //获取$('input').val(2+"你好"); //设置
CSS设置获取样式
[x]
css()
12345$mydiv.css('width','300');$mydiv.css({width: '400px',height: '400px'});[x]
offset()
获取距离body的偏移量(top/left不管父级参照物是谁)
1$("#child3").offset()
[x]
css()
获取相对于父级参照物的偏移(top/left)
1$("#child3").position()
[x]
height(),width()
- 设置的内容宽无padding1$mydiv.height();
- 设置的内容宽无padding
[x]
innerWidth(),innerHeight()
可视区宽高- 等同于
clientWidth clientHeight
无边框1$mydiv.innerHeight();
- 等同于
[x]
outerWidth(),outerHeight()
- 等同于
offsetWidth offsetHeight
加边框 - 设置为 true 时,计算边距在内12$mydiv.outerHeight();//不算margin$mydiv.outerHeight(true);//算margin
- 等同于
inner\outer设置的都一样(改变的是height/width=参数-(padding+border))
[x]
scrollLeft(val),scrollTop(val)
- 原生js也只有这两个属性接受重新赋值1$mydiv.scrollLeft();
- 原生js也只有这两个属性接受重新赋值
文档处理
创建个新元素newspan
因此下面采用jQuery对象
$("#newspan")
或原生js对象newspan
添加元素都可以[x] 父级与子级添加
[ ] append(par)
12$mydiv.append($(newspan));//或者$mydiv.append(newspan);$(newspan).appendTo($mydiv); //和append的用法正好相反[ ] prepend(child)
12$mydiv.prepend(newspan);$(newspan).prependTo($mydiv)[x] 同级追加
[ ] after(ele)、before(ele)
等同css的
:before(在前面添加)12$mydiv.after(newspan);$mydiv.before($(newspan));[ ] insertAfter 、insertBefore
-->
容器中指定元素前后追加新元素12$(newspan).insertBefore($mydiv);$(newspan).insertAfter($mydiv);[x] wrap 包裹
-->
用参数这个标签包裹住mydiv1$mydiv.wrap('<div class="parent"></div>');[x] replaceAll
等同js
replaceChild(new, old)1$("#child1").replaceAll("div");//$("#child1")替换所有div标签元素[x] remove
等同js
removeChild()12$(".children").remove();$(".children").remove("#child1");//移除集合中的id为child1的元素[x] clone()
等同js
cloneNode();123var bro1 = document.getElementById("bro1");$(".children").clone().prependTo($(bro1));$(bro1).prepend($(".children").clone());
筛选(集合中选出想要的元素)
[x] 检索
- eq(index);index为负值时时倒数第几个
- first()
- last();123$("div").eq(0);$("div").first();$("div").last();
[x] hasClass(classname);
-->
检测当前元素中是否包含某一样式类名(返回布尔值)1$("div").hasClass("children");//true[x] 常用筛选方法
[ ] filter()
-->
同级过滤(首先通过选择器获取一个集合,在获取的内容中进行二次筛选)1$("*",$mydiv).filter("div")[ ] children()
-->
子级过滤123456$("#mydiv").children() -->所有艺元素$("#mydiv").children("#child2")$("#mydiv").children("div")$("#mydiv").children("#child1,#child3");$("#mydiv").children("[name='elvira']");$("#mydiv").children("[name]");[ ] find()
-->
所有后代过滤(必须传参,否则空)
|
|
三个区别
|
|