JQuery

1.JQuery能做什么?

JQuery是一个功能强大的JavaScript库,其快速而简洁的特性极大地简化了JS编程。JQuery的用途如下:

  • HTML元素的获取;
  • HTML元素的操作:取值和赋值、移动、复制、删除和创建等;
  • CSS操作;
  • 事件的操作;
  • 特殊效果,如JavaScript 动画;
  • HTML DOM遍历与修改;
  • 工具方法;
  • AJAX;
  • Utilities。

2.JQuery对象和原生DOM对象有什么区别?怎样互相转换?

使用JQuery时一定要注意JQuery和原生DOM的区别,JQuery对象的方法和DOM方法不能混用,jQuery对象只能使用jQuery对象的API,对于原生对象只能使用原生对象的 API。
如何转化?

  • DOM对象转化为js对象只需将其写在$()内:
    $(document.querySelector('div'))
  • js对象转为DOM对象只需加一个下标:
    $('div')[0]
  • 若只想取值而不想转为DOM对象,用.eq()方法:
    $('div').eq(index)

3.如何获取和设置元素内部的html内容?如何获取和设置元素内部的文本?

  • 用.html()方法获元素内部的html内容。若传递一个string作为参数,则修改元素内容。
  • 用.text()方法获取元素内部的文本内容。若传递一个string作为参数,则修改元素文本内容。
  • 进行赋值操作时,如果结果是多个,会给每个结果都赋值;
  • 进行获取操作时,如果结果是多个,.html()会返回集合中的第一个值;.text()会将集合中所有值组成一个字符串返回。
<body>
<div class="box1">box1</div>
  <div class="box2">box2</div>
  <div class="box2">box2</div>
</body>

<script>
$('.box2').html()   //"box2"
$('.box2').html('2box')  //init(2)[div.box2,div.box2 .....]
$('.box2').text()   //"box2box2"
$('.box2').text('2box')   //init(2)[div.box2,div.box2 .....]
</script>

4.JQuery中如何绑定事件?bind、unbind、delegate、live、on、off都有什么用?推荐使用哪种?使用on绑定事件使用事件代理的写法?

  • JQuery中推荐用.on()和.off()来绑定和解绑事件。
    .on( events [,selector ] [,data ], handler(eventObject) )
    .off( events [, selector ] [, handler ] )
  • bind的用法和on一样,但其是JQuery1.7版本之前的用法,不建议使用。
  • unbind是旧版本的解绑事件方法;
  • delegate为所有匹配选择器(selector参数)的元素绑定一个或多个事件处理函数,基于一个指定的根元素的子集,匹配的元素包括那些目前已经匹配到的元素,也包括那些今后可能匹配到的元素;
  • live附加一个事件处理器到匹配目前选择器的所有元素,现在和未来,从而简化了在页面上动态添加的内容上事件处理的使用;
    使用on方法实现live方法的效果需使用事件代理:
<body>
  <div class="box">
    <ul>
      <li>1</li>
      <li>2</li>
      <li>3</li>
    </ul>
  </div>
<input id="ipt" type="text"> 
<button id="btn">添加</button>
  <div id="wrap"></div>
  <script>
  $('#btn').on('click', function(){
  var value = $('#ipt').val();
  $('.box>ul').append("<li class='a'>"+value+'</li>');
});
  
  $('.box>ul').on('click', 'li', function(){
      //var str = $(this).text()
      //原生写法var str = this.innerText
      $('#wrap').text(str)
    })
  </script>
</body>
事件代理

若不用事件代理方法,则后续新生成的元素无法绑定事件。

5.使用JQuery实现如下效果:

tab切换

JS代码

6.JQuery动画如何使用?

JQuery动画方法通常有一下4个参数:

  • duration:动画持续的时长;
  • easing:表示过渡使用哪种缓动函数,jQuery自身提供"linear" 和 "swing";
  • complete:在完成动画时执行的函数;
  • opacity:不透明度。
    基础用法:
    .hide([duration ] [,easing ] [,complete ]):用于隐藏元素;
    .show( [duration ] [, easing ] [, complete ] ):用于显示元素;
    .toggle( [duration ] [, easing ] [, complete ] ):用于显隐切换。
    渐变式展示:
    .fadeIn( [duration ] [, easing ] [, complete ] ):淡入显示;
    .fadeOut( [duration ] [, easing ] [, complete ] ):淡出隐藏;
    .fadeTo( duration, opacity [, easing ] [, complete ] ):调整匹配元素的透明度,方法通过匹配元素的不透明度做动画效果;
    .fadeToggle( [duration ] [, easing ] [, complete ] ):通过匹配的元素的不透明度动画,来显示或隐藏它们,方法执行匹配元素的不透明度动画。当被可见元素调用时,元素不透明度一旦达到0,display样式属性设置为none ,所以元素不再影响页面的布局。
    滑动:
  • .slideDown( [duration ] [, easing ] [, complete ] ):用下滑动画显示一个匹配元素;
  • .slideUp( [duration ] [, easing ] [, complete ] ):用上滑动画隐藏一个匹配元素;
  • .slideToggle( [duration ] [, easing ] [, complete ] ):用滑动动画进行显隐切换。
    自定义动画:
    .animate( properties [, duration ] [, easing ] [, complete ] )
  • properties:是一个CSS属性和值的对象,动画将根据这组对象移动。
    .clearQueue用于清楚动画队列未执行的动画;
    .stop( [clearQueue ] [, jumpToEnd ] ):停止当前动画;
    .finish:停止当前动画,并清除动画队列中所有未完成的动画,最终展示动画队列最后一帧的最终状态。

7.jQuery 如何展示/隐藏元素?

1.通过改变css样式的方式:

$('.display').css('display','block')
$('.display').css('display','none')

2.通过添加和删除class来实现:

.display {
display:none;
}
$('div').addClass('display')
$('div').removeClass('display')

3.通过JQuery动画来实现:

$('.display').show()
$('.display').hide()
$('.display').toggle()

其中toggle方法用于在show/hide间切换。

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