以下内容若有问题烦请即时告知我予以修改,以免误导更多人。
1. jQuery获取物体信息
js
- obj.offsetWidth
- obj.offsetHeight
- obj.offsetLeft
obj.offsetTop
obj.parentNode 结构父级 根:document
- obj.offsetParent 定位父级 根:body
js处理小数较弱,取出时取整Math.round()
jQuery(只封装了以下方法)
obj.width();
纯widthobj.height();
纯heightobj.outerWidth();
盒子模型的width (width+padding+border) => offsetWidthobj.outerHeight();
盒子模型的height (height+padding+border) => offsetHeightobj.position().left;
距离定位父级left值 (不包括margin) => offsetLeftobj.position().top;
距离定位父级top值 (不包括margin) => offsetTopobj.offset().left;
距离定位父级left值 (包括margin)obj.offset().top;
距离定位父级top值 (包括margin)obj.scrollTop();
元素相对滚动条顶部的偏移obj.scrollLeft();
元素相对滚动条左侧的偏移
父级
obj.parent()
结构父级 根:document => parentNodeobj.parents()
返回被选元素的所有祖先元素,直到<html>
obj.offsetParent()
定位父级 根:body => offsetParent
子级
obj.children()
返回被选元素的所有直接子元素obj.find()
返回被选元素的后代元素,一路向下直到最后一个后代
2. jQuery筛选
(1) 过滤
.eq(index)
- index >= 0 正向选取(0代表第一个,1代表第二个)
- index < 0 反向选取(-1代表倒数第一个)
.first()
.last()
.hasClass(className)
(2) 查找
.find(tagName/className/id)
eg:oBox.find('ol li');
3. jQuery <=> js
(1) 原生js转jQuery对象
$() 包裹
this -> $(this)
document -> $(document)
1 | <script> |
(2) jQuery转原生js对象
[] / get()
$('div')[0].innerHTML = 'xxx';
$('div').get(0).innerHTML = 'xxx;
4. jQuery链式运动
obj.css(...).html(...).attr(...).click();
5. jQuery循环
obj.each(function(){...});
eg:1
2
3
4
5
6<script>
$('div').each(function(index, element) { // 索引,当前元素
console.log($(element).html); // **element是原生对象,需转成jq对象
$(this); // 当前对象
});
</script>
6. jQuery工具
$.trim(str);
去掉字符串起始和结尾的空格$.browser.version;
浏览器版本
eg:1
2
3
4
5<script>
if($.browse.version.substring(0, 1) == '6') {
// IE6 code here
}
</script>
7. jQuery Ajax
$.ajax({...});
- type: ‘get/post’
1 | <script> |
8. jQuery jsonp
$.ajax({...});
- dataType: ‘jsonp’
- cbName: ‘callback/cb’
1 | <script> |
9. jQuery插件
写插件
$: jq
fn: 帮助
jq里面除了插件里的this以外,其他都是原生的js
jquery的$.extend和$.fn.extend作用及区别
一个插件
$.fn.插件名 = fn;
1 | <script> |
一组插件
$.fn.extend(...);
插件调用不能用链式
1 | <script> |
更多内容可以订阅本人微信公众号,一起开启前端小白进阶的世界!