Jquery常用方法

Jquery 中, $(document).ready()window.onload 的区别

  • $(document).ready()是指当DOM加载完成可以被javascript去操作时就会执行ready括号中的函数。
  • window.onload 的区别如下:
    1.$(document).ready()是jquery中的方法,等DOM树就绪后就会执行;window.onload是原生js中的一个对象,不仅要等DOM树就绪还要图像、内部框架等,页面整个加载完呈现出来才会执行。
    2.$(document).ready()像事件绑定的原理,可以设置多次,DOM加载完就执行所有预先设置的函数;window.onload因为是类似给window对象的onload属性赋值所以只能执行一个,后设置的将覆盖前面的。
    3.$(document).ready()可以简写成$(func)window.onload没有简写。
  • 其他写法:$(document).ready()可以简写成$(func);替代方法的话没有,但是需要注意jquery中的另外一个$(window).load( )它会等图像、内部框架等,页面整个加载呈现完才执行而不仅仅是DOM。

$node.html() 和 $node.text() 的区别

  • 和原生Js类似;$node.html()是获取或设置node节点的html内容,输出时包含标签代码写入时标签代码也会正常生效;
  • $node.text()是获取或设置node节点的文本内容,输出时是把内部所有文本做一个拼接后输出,输入时把节点内部整个清空放入输入值(注意标签代码会被转义为文本)。

$.extend 的作用和用法

  • $.extend的作用是将多个对象的值(与目标对象比较,把目标对象所没有的值添加到目标对象中)合并到目标对象中。
  • 用法:$.extend(true,target,obj1[,objn]),若不需要深拷贝请将第一个参数true去掉(注意不支持false!)。
    注意数组或对象浅拷贝时target的值可能会被覆盖而不是添加,此时最好用深拷贝!
    目标对象可以是一个空对象(例如想合并两个对象,把其中一个作为目标对象的话会被修改,我既想得到合并后的对象,也想保留这两个对象,这时可以用一个空对象去做target)

JQuery 的链式调用

  • 链式调用:在jquery中,它的很多方法调用后的返回值依然是jequery对象,那么对于像对DOM进行操作的任务中我们就无需先取得元素赋值给新建变量,再针对这个新建变量进行操作;例如$('#head')它是一个表达式,和被选中的id为head的这个元素是等价的,$('#head').find('.box')就表示先选中id为head的元素再在head元素下寻找class为box的元素,当然后面还可以接着给它绑定事件。
  • 链式调用非常方便,真的是write less do more!,而且思路也很清晰,让代码看起来更简洁易懂。

JQuery ajax 中缓存怎样控制

  • 一般来说浏览器会将每次请求的内容缓存起来,这样的话下次是同样的请求就直接在本地调用无需再发请求,但有时候如果是版本更新或者不想让浏览器使用缓存时怎么办呢?
  • jquery.ajax(opts)中有一个参数是cache,我们把它设为false即可让浏览器不读取本地缓存,其原理是类似在请求中加时间戳,这样浏览器以为两次请求是不同的而不会去调用缓存,但时间戳并不影响数据的获取,我们得到的依然是我们想要的。

jquery 中 data 函数的作用

  • 在jquery中data函数允许我们把一些数据绑定到DOM元素上,避免循环引用的内存泄露风险;例如$('#head').data(name:'hello')是在id为head的这个元素上绑定了一个数据,其名为name,值为'hello',下次这样引用$('#head').data(name)

小练习

写出以下功能对应的 Jq 方法:

1.给元素 $node 添加 class active,给元素 $noed 删除 class active

 $node.addClass('active');
 $noed.removeClass('active');

2.展示元素$node, 隐藏元素$node

$node.show(); //展示         
$node.hide();//隐藏  

3.获取元素$node 的 属性: id、src、title, 修改以上属性

$node.attr('id');
$node.attr('src');
$node.attr('title');
$node.attr({
  id:' ',
  src:' ',
  title:' ',
});

4.给$node 添加自定义属性data-src

$node.attr('data-src':' ');

5.在$ct 内部最开头添加元素$node

$ct.prepend($node);

6.在$ct 内部最末尾添加元素$node

$ct.append($node);

7.删除$node

$node.remove();

8.把$ct里内容清空

$ct.text('');
$ct.empty();

9.在$ct 里设置 html <div class="btn"></div>

$ct.html('<div class="btn"></div>');

10.获取、设置$node 的宽度、高度(分别不包括内边距、包括内边距、包括边框、包括外边距)

$node.width();    //获得宽度 不包括内边距 仅内容大小
$node.width(30);    //设置宽度 
$node.height();     //获得高度   
$node.height(30);    //设置高度  
$node.innerWidth();    //包含内边距用inner
$node.outerWidth();   //包含边框用outer
$node.outerWidth(true);  //包含外边距用outer+true

11.获取窗口滚动条垂直滚动距离

$(document).scrollTop();

12.获取$node 到根节点水平、垂直偏移距离

$node.offset();

13.修改$node 的样式,字体颜色设置红色,字体大小设置14px

$node.css({
  'color': 'red',
  'font-size': '14px'
});

14.遍历节点,把每个节点里面的文本内容重复一遍

.each(function(index,element){
  $(this).text($(this).text()+$(this).text());
});

15.从$ct 里查找 class 为 .item的子元素

$ct.find('.item');

16.获取$ct 里面的所有孩子

$ct.children();

17.对于$node,向上找到 class 为’.ct’的父亲,在从该父亲找到’.panel’的孩子

$node.parents('.ct').find('.panel')

18.获取选择元素的数量

.length;

19.获取当前元素在兄弟中的排行

.index();
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341

推荐阅读更多精彩内容