jQuery知识基础

《jQuery知识基础》

一、概述:
 
二、使用:

 1、jQuery语法结构:

  1)、jQuery对象简介:
   var jQuery对象 = $('页面元素');
   其中:
    引用的页面元素包括通过id、class、元素名以及元素的层级关系及dom或者xpath条件等;
    通过$()返回的是一个jQuery对象集合,并且只有该对象才能使用jQuery定义的方法;
    一般的DOM对象可以通过$()方法转换成jQuery对象;
    jQuery对象由于是一个集合对象,通过索引方式获取其DOM对象;
   例子:
   $('#obj');         $(document.getElementById("obj"));
   $("#obj").html();  $("#obj")[0].innerHTML;
   
  2)、jQuery对象集合:
   a)、获取集合选项:
    方法:
     .eq(n)返回的是jquery对象;
     .get(n)和索引[n]返回的是dom元素对象;
    例子:
     $("div").eq(2).html();
     $("div").get(2).innerHTML;
     $("div")[2].innerHTML;
     
   b)、循环遍历集合:
    方法:
     .each(function(i){...});遍历集合;
     直接对$()集合操作;
    例子:
     $("tr").each(function(i){$(this).css('backgroundColor', ['#ccc','#fff'][i%2]);});
     $("p").click(function(){...}) 
  
  3)、jQuery对象方法:
   a)、使用同一个函数名称,不同参数的重载方法来获取(GET)或设置(SET)当前jQuery对象的属性;
    例子:
     $("#obj").html(); / $("#obj").html("<b>new content</b>");
     $("#obj").text(); / $("#obj").text("<b>new content</b>");
     $("#obj").height(); / $("#obj").height("300");
     $("input").val("); / $("input").val("test");
     $("#obj").click(); / $("#obj").click(fn);
     $("#obj").css("background"); / $("#obj").css("background","#ccc");
     
   b)、可以对一个jquery对象连续调用各种不同的方法。
    例子:
    $("a").click(function(){...}).mouseover(function(){...}).each(function(i){...});
    
  4)、jQuery对象样式:
   方法:
    .css(); / .height(); / .width();
    .addClass(); / .removeClass(); / .toggleClass();
   例子:  
    $("#obj").css("background");               //返回元素的背景颜色
    $("#obj").css("background","#ccc")       //设定元素背景为灰色
    $("#obj").height(300); $("#obj").width("200");       //设定宽高
    $("#obj").css({ color: "red", background: "blue" });//以名值对的形式设定样式
    $("#obj").addClass("select");       //为元素增加名称为select的class
    $("#obj").removeClass("select");       //删除元素名称为select的class
    $("#obj").toggleClass("select");       //如果存在(不存在)就删除(添加)名称为select的class
  
 2、jQuery事件处理:
  1)、jQuery对象事件:
   方法:
    .click(fn);注册元素点击事件;
    .hover(fn1,fn2);注册一个模仿悬停事件;
    .ready(fn);当DOM载入就绪可以查询及操纵时绑定一个要执行的函数
    .bind(eventtype,fn);.unbind(eventtype): 事件的绑定与反绑定
    .toggle(evenFn,oddFn);每次点击时切换要调用的函数
    .trigger(eventtype);在每一个匹配的元素上触发某类事件。
   例子:
    $("#obj").click(function(){...});
    $("tr").hover(function(){$(this).addClass("over");},function(){$(this).addClass("out");});
    $(document).ready(function(){...});
    $("p").bind("click", function(){...});
    $("p").toggle(function(){$(this).addClass("selected");},function(){$(this).removeClass("selected");});
    $("p").trigger("click");
    
  2)、jQuery全局事件:
   方法:
    $.browser; 检测浏览器类型,属性有safari, opera, msie, mozilla等;
    $.each(obj, fn); 通用的迭代函数,可用于近似地迭代对象和数组。
    $.map(array, fn); 数组映射。把一个数组中的项目(处理转换后)返回生成的新数组。
    $.merge(arr1,arr2); 合并两个数组并删除其中重复的项目。
    $.trim(str); 删除字符串两端的空白字符。
    
   例子:
    if($.browser.isie){$.browser.version}
    $.each( [0,1,2], function(i, n){ alert( "Item #" + i + ": " + n ); });
    $.each( { name: "John", lang: "JS" }, function(i, n){ alert( "Name: " + i + ", Value: " + n ); });
    var tempArr=$.map( [0,1,2], function(i){ return i > 0 ? i + 1 : null; });tempArr内容为:[2,3]
    $.merge( [0,1,2], [2,3,4] )       //返回[0,1,2,3,4]
    $.trim("   hello China  ");
    

 3、jQuery功能扩展:
  1)、extend扩展: 
 
 
 extend扩展
$.extend(target,prop1,propN):用一个或多个其他对象来扩展一个对象,返回这个被扩展的对象。这是jquery实现的继承方式。
如:
$.extend(settings, options);      
//合并settings和options,并将合并结果返回settings中,相当于options继承setting并将继承结果保存在setting中。
var settings = $.extend({}, defaults, options);
//合并defaults和options,并将合并结果返回到setting中而不覆盖default内容。
可以有多个参数(合并多项并返回)


 
 
 4、jQuery常用技巧:
 
解决自定义方法或其他类库与jQuery的冲突
  很多时候我们自己定义了$(id)方法来获取一个元素,或者其他的一些js类库如prototype也都定义了$方法,如果同时把这些内容放在一起就会引起变量方法定义冲突,Jquery对此专门提供了方法用于解决此问题。
  使用jquery中的jQuery.noConflict();方法即可把变量$的控制权让渡给第一个实现它的那个库或之前自定义的$方法。之后应用Jquery的时候只要将所有的$换成jQuery即可,如原来引用对象方法$("#obj")改为jQuery("#obj")。
如:
jQuery.noConflict();
// 开始使用jQuery
jQuery("div   p").hide();
// 使用其他库的 $()
$("content").style.display = 'none';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值