jQuery动画与ajax

题目1: jQuery 中, $(document).ready()是什么意思?

.ready()指的是当DOM准备就绪,指定一个函数来执行。js原生的load事件,要等DOM和图像完全加载才会触发。
使用.ready()方法能够保证DOM准备好之后,就执行这个函数,因此,这里是绑定事件和运行jQuery代码最好的地方。

//下面两种语法等价
$(document).ready(handler)
$(handler)

题目2: $node.html()$node.text()的区别?

.html()获取第一个匹配元素的HTML内容,如果选择器匹配多于一个的元素,那么只有第一个匹配元素的HTML内容会被获取。
.text()获取所有元素的匹配内容,结果是所有匹配元素包含的文本内容组合起来的文本。

题目3: $.extend 的作用和用法?

jQuery.extend( [deep,] target [, object1 ] [, objectN ] )
提供两个或多个对象,对象的所有属性都添加到目标对象。
如果只有一个参数提供给.extend(),这意味着目标参数被省略。在这种情况下,jQuery对象本身被默认为目标对像。这样,我们可以在jQuery的命名空间下添加新功能。这对于插件开发者希望向jQuery中添加新函数时是很有用的。

目标对象(第一个对象)将被修改,并且通过$.extend()返回。然而,如果我们想保留原对象,我们可以通过传递一个空对象作为目标对象:

var object = $.extend({}, object1, object2);

如果第一个对象的属性本身是一个对象或数组,那么它将完全用第二个对象相同的key重写一个属性。

题目4: jQuery 的链式调用是什么?

指多个方法可以链式调用,如:

$('div').find('h3').eq(2).html('Hello');

链式调用可以节省代码量,提高代码的效率。

题目5: jQuery 中 data 函数的作用

data()函数用于在当前jQuery对象所匹配的所有元素上存取数据。将数据绑定在一个DOM上

通过data()函数存取的数据都是临时数据,一旦页面刷新,之前存放的数据都将不复存在。

该函数属于jQuery对象(实例)。如果需要移除通过data()函数存放的数据,请使用removeData()函数。

题目6:

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

  • 给元素 $node 添加 class active,给元素 $node 删除 class active

    $node.addClass('active');
    $node.removeClass('active');
    
  • 展示元素$node, 隐藏元素$node

    $node.hide();
    $node.css("display","none");
    
  • 获取元素$node 的 属性: id、src、title, 修改以上属性

    $node.attr({
      id: 'test',
      src: 'http://test.com',
      title: 'test',
    });
    
  • $node 添加自定义属性data-src

    $node.attr('data-src', 'test')
    
  • $ct 内部最开头添加元素$node

    $ct.prepend($node);
    
  • $ct 内部最末尾添加元素$node

    $ct.append($node)
    
  • 删除$node

    $node.remove();
    
  • $ct里内容清空

    $ct.empty()
    
  • $ct里设置 html <div class="btn"></div>

    $ct.html('<div class="btn"></div>')
    
  • 获取、设置$node 的宽度、高度(分别不包括内边距、包括内边距、包括边框、包括外边距)

    //获取计算宽度值,height同理
    $node.width()
    $node.height()
    //获取计算的内部宽度,包括padding,不包括border, innerHeight同理
    $node.innerWidth()
    $node.innerHeight()
    //获取计算外部宽度,包括padding, border,和可选的margin,outerHeight同理
    $node.outerWidth()
    $node.outerHeight()
    
  • 获取窗口滚动条垂直滚动距离

    $node..scrollTop()
    
  • 获取$node 到根节点水平、垂直偏移距离

    $node.offset().top;    
    $node.offset().left;
    
  • 修改$node 的样式,字体颜色设置红色,字体大小设置14px

    $node.css({
      color: "red",
      fontSize: "14px"
    });
    
  • 遍历节点,把每个节点里面的文本内容重复一遍

    $node.each(function(){
        $(this).text($(this).text() + $(this).text())
     })
    
  • $ct 里查找 class 为 .item的子元素

    $ct.find('.item')
    
  • 获取$ct 里面的所有孩子

    $ct.children()
    
  • 对于$node,向上找到 class 为'.ct'的父亲,在从该父亲找到'.panel'的孩子

    $node.parents('.ct').find('.panel')
    
  • 获取选择元素的数量

    $node.length
    
  • 获取当前元素在兄弟中的排行

    $node.index()
    

题目7:

用jQuery实现以下操作

  • 当点击$btn 时,让 $btn 的背景色变为红色再变为蓝色

    $btn.on('click', function(){
      $this.css('background-color','red');
      setTimeout(function(){
         $btn.css('background-color', 'blue');
       }, 200)
    })
    
  • 当窗口滚动时,获取垂直滚动距离

      $(window).scroll(function(){
          console.log($(this).scrollTop())
        })
    
  • 当鼠标放置到$div 上,把$div 背景色改为红色,移出鼠标背景色变为白色

        $div.on('mouseenter', function(){
          $(this).css('background-color', 'red');
        }).on('mouseleave', function(){
          $(this).css('background-color', 'white');
        })
    
  • 当鼠标激活 input 输入框时让输入框边框变为蓝色,当输入框内容改变时把输入框里的文字小写变为大写,当输入框失去焦点时去掉边框蓝色,控制台展示输入框里的文字

        $('input[type=text]').on('focus', function(){
          $(this).css('border-color', 'blue')
        }).on('change', function(){
          $(this).val($(this).val().toUpperCase())
        }).on('blur', function(){
          $(this).css('border-color', '')
          console.log($(this).val())
        })
    
  • 当选择 select 后,获取用户选择的内容

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

推荐阅读更多精彩内容