jQuery

作者: _达斯基 | 来源:发表于2017-11-01 01:08 被阅读0次

1jQuery 能做什么?

jQuery 是一个高效、精简并且功能丰富的 JavaScript 工具库。它提供的 API 易于使用且兼容众多浏览器。
jQuery通常有以下作用:

  • 方便快捷获取DOM元素
  • 动态修改页面样式
  • 动态改变DOM内容
  • 响应用户的交互操作
  • 为页面添加动态效果
  • 统一Ajax操作

2 jQuery 对象和 DOM 原生对象有什么区别?如何转化?

区别:jQuery对象是包装DOM对象后产生的对象,jQuery 对象是 jQuery所独有的,jQuery对象可以使用jQuery里的方法,但是jQuery无法使用DOM对象的任何方法,同理DOM对象也不能使用jQuery里的方法。

// html()是jQuery里的方法 
var $test = $('#test').html();
console.log($test);

// 等同于原生对象里的
var test = document.getElementById('test').innerHTML;
console.log(test);

// 两者不能混用
document.getElementById("id").html();
//浏览器会报错

转化:

将jQuery对象转化为原生对象

// jQuery对象是一个数据对象,可以通过[index]的方法,来得到相应的DOM对象。 
var $test = $('#test');
var test = $test[0];
// jQuery本身提供,通过.get(index)方法,得到相应的DOM对象
var $test = $('#test');
var test = $test.get(0);

将原生对象转化为jQuery对象

var test = document.getElementById('test');
var $test = $(test);

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

jQuery版本1.7后统一使用on/off来绑定和解绑事件。

// 语法
.on( events [,selector ] [,data ], handler(eventObject) )
// 例
$('button').on('click',function(){
  console.log(1);
})

bind

bind()方法用于直接附加一个事件处理程序到元素上。在.bind()绑定事件的时候,这些元素必须已经存在.

$('button').bind('click',function(){
  console.log(1);
})

//可直接替换为
$('button').click(function(){
  console.log(1);
})

unbind

每个用.bind()方法绑定的事件处理程序可以使用.unbind()移除。

// 不带参数移除全部
$('button').unbind()
// 带参数
$('button').unbind('click')

delegate
能动态绑定事件,基于一个指定的根元素的子集,匹配的元素包括那些目前已经匹配到的元素,也包括那些今后可能匹配到的元素

$("table").delegate("td", "click", function() {
  console.log(1)
});

live
一种动态绑定方法,将委托的事件处理程序附加到一个页面的document元素。有很多限制,比如:不支持链式写法,很花费时间,解除绑定时会移除所有通过live添加的事件,已经被废弃。

on/off
自持静态绑定,也可以使用事件委托动态绑定事件,根元素是父元素或子元素。没有什么限制,是主要的绑定事件的方式

.on( events [, selector ] [, data ], handler(eventObject) )
.on( events [, selector ] [, data ] )

//带命名空间
$('button').on('click.miao',function(){
  console.log(1);
})
$('button').off('click.miao');

4 jQuery 如何展示/隐藏元素?

// 隐藏元素 .hide([duration ] [,easing ] [,complete ])
  $('#box').hide(300, 'linear', function() {
    alert('Animation complete.');
  })
// 显示元素 .show( [duration ] [, easing ] [, complete ] )
// 切换元素的显示 .toggle( [duration ] [, easing ] [, complete ] )

5jQuery 动画如何使用?

动画使用:.animate( properties [, duration ] [, easing ] [, complete ] )
其中properties表示一个CSS属性和值的对象,动画将根据这组对象移动。complete表示动画完成后执行的函数

$('#clickme').click(function() {
  $('#book').animate({
    opacity: 0.25,
    left: '+=50',
    height: 'toggle'
  }, 5000, function() {
    console.log(1)
  });
});

6如何设置和获取元素内部 HTML 内容?如何设置和获取元素内部文本?

html内容用.html()来获取,设置的话在括号里加要添加的内容,原生js用.innerHTML获取html,设置用 = 直接赋值;
text()获取所选元素的文本内容,在括号里添加要加的文本设置文本内容,原生js用.innerText获取,用赋值进行设置;

7如何设置和获取表单用户输入或者选择的内容?如何设置和获取元素属性?

.val() 获取表单输入内容,设置也是在括号里添加内容;
.attr('属性名') 获取元素的属性,设置的话$( ).attr('属性名','值')

$('input').val()
$( "#greatphoto" ).attr( "alt", "Beijing Brush Seller" );

任务:

任务8
任务9
任务10
任务11

相关文章

网友评论

      本文标题: jQuery

      本文链接:https://www.haomeiwen.com/subject/ndfwpxtx.html