jQuery

1、jQuery 能做什么?

jQuery是一个丰富的js库,内部对js的很多复杂的方法进行了封装和加工,将js很多很冗长方法名,封装后方法就变得简便了,也考虑到了跨浏览器兼容问题,这样我们用js时需要考虑的很多问题它都帮我们解决了,这样我们使用时就比js代码要方便,高效的多

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

jquery对象通常用jquery的方法$(’’)来得到,可以使用jquery提供的方法来操作html的数据,DOM原生对象只能用js提供的方法,如getElementById,getElementByTagName,有的获取的是一个元素,有的获取的是一个数组。需要再强调注意的是:DOM对象才能使用DOM中的方法,jQuery对象是不可以用DOM中的方法。
相互转化的方法:
dom->jquery:
对于已经是一个DOM对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象
如:var v=document.getElementById("v"); //DOM对象
var $v=$(v); //jQuery对象
jquery->dom:
两种转换方式将一个jQuery对象转换成DOM对象:[index]和.get(index);
a)jQuery对象是一个数据对象,可以通过[index]的方法,来得到相应的DOM对象。
如:var $v =$("#v") ; //jQuery对象
var v=$v[0]; //DOM对象
b)jQuery本身提供,通过.get(index)方法,得到相应的DOM对象
如:var $v=$("#v"); //jQuery对象
var v=$v.get(0); //DOM对象

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)
});
ive
一种动态绑定方法,将委托的事件处理程序附加到一个页面的document元素。有很多限制,比如:不支持链式写法,很花费时间,解除绑定时会移除所有通过live添加的事件,已经被废弃。
on/off
自持静态绑定,也可以使用事件委托动态绑定事件,根元素是父元素或子元素。没有什么限制,是主要的绑定事件的方式
事件代理委托
$(‘ul’).on(‘click’,’li’,function(){
   //do something 
})

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

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

5、jQuery 动画如何使用?

.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 内容?如何设置和获取元素内部文本?

$('.div1').html(); // 获取内部html
$('.div1').html('

改变html

'); // 改变内部html $('.div1').text(); // 获取内部text $('.div1').text('改变text'); // 改变内部text值

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

$('.text1').val(); // 获得id为text1的元素的内容
$('.text1').attr('title'); // 获得id为text1的元素的title属性
$('.text1').attr('title', 'input-text'); // 设置id为text1的元素的title属性为input-text

你可能感兴趣的:(jQuery)