Chinaunix首页 | 论坛 | 博客
  • 博客访问: 780971
  • 博文数量: 372
  • 博客积分: 10063
  • 博客等级: 中将
  • 技术积分: 4220
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-24 11:36
文章分类

全部博文(372)

文章存档

2012年(372)

分类: 虚拟化

2012-04-10 19:05:27

一,什么是jquery

jQuery是继prototype之后又一个优秀的Javascrīpt框架。其宗旨是——WRITE LESS,DO MORE,写更少的代码,做更多的事情。说白了,jquery就是javascript。只不过按照人的习惯思维把它封装了一个比较强大的框架。还有一点 jquery能够把html和javascript尽量分离,这也是我愿意用jquery的一个重要原因。jqueryt很灵活,太灵活了,可以说是他一 个优点,也是他一个缺点,达到一种效果,十个人也许会用十种不同的方法来实现这个过程,结果一样,过程不一样,这到底是好,还是坏呢。就各说各的理了。

二,学习和使用jquery的困惑

1)$.fn.extend({})和$.extend({})

 

$.fn.extend是扩展jQuery元素集来提供新的方法(通常用来制作插件)。解释一下,就是通 过$.fn.extend产生的jquery方法在调用jquery时,不会包括括在jquery自身的对象中,它是扩展插件的形势,继承的。你可以把它 理解为php中的extend。举个例子

  1. $.fn.extend({  
  2.   checkname: function() {  
  3.   
  4.    if($.trim($(this).val()) != ""){  
  5.   
  6.        return true;     
  7.   
  8.     }else{  
  9.   
  10.       return false;  
  11.   
  12.     }  
  13.   }  
  14. });  

 调用时 $("input.name").checkname();

$.extend是扩展jQuery对象本身。解释一下,就是说通过$.extend产生的jquery方法,在调用jquery时,会包括在jquery自身的对象中。说白了,就是在jquery对象中添加方法,例如

  1. $.extend({  
  2.   checkname: function(name) {  
  3.   
  4.    if($.trim(name!= ""){  
  5.   
  6.        return true;     
  7.   
  8.     }else{  
  9.   
  10.       return false;  
  11.   
  12.     }  
  13.   }  
  14. });  

 调用时 $.checkname($("input.name").val());

2)$().each({})和$.each({})

$().each({})用来循环数组和对像

  1. <ul>  
  2.   <li><div>Glendiv>li>  
  3.   <li>Taneli>  
  4.   <li>Ralphli>  
  5. ul>  

下面是循环对象

  1.  $("ul li").each(function(k,v){  
  2.   alert("key="+k+",value="+$(v).html());  
  3.  });  
  4. });  

下面是循环数组

  1.  array = [0,1,2];  
  2.  $(array).each(function(k,v){  
  3.   alert("key="+k+",value="+v);  
  4.  });  

$.each({})可用来循环所有数组和对象,个人觉得他们二个没什么差别,除了写法不一样外

下面是循环数组

  1.  array = [0,1,2];  
  2.  $.each(array,function(k,v){  
  3.   alert("key="+k+",value="+v);  
  4.  });  

下面是循环对象

  1.  $.each($("ul li"),function(k,v){  
  2.   alert("key="+k+",value="+$(v).html());  
  3.  });  

注意:function(k)这里k是下标,function(k,v)这是k还是下标,v不一定,有可能是数组里面的一个值,也有可能是一个对象,如果是对象时,如果参数不写出来,默认情况是this

3),$(" :contains()")和$("  :has()")

$(" :contains()") 匹配包含给定文本的元素,contains里面包括的是文本内空

$("li:contains('Ra')").css('color','red');

$("  :has()")匹配含有选择器所匹配的元素的元素,has里面包话的是一个标签

$("li:has(div)").css('color','red');

4), $(" :first")和 $(" :first-child")

 $(" :first") 匹配找到的第一个元素

$(" :first-child") 匹配第一个子元素,':first' 只匹配一个元素,而此选择符将为每个父元素匹配一个子元素
  1. <div><ul>  
  2.     <li>list item 1li>  
  3.     <li>list item 2       
  4.       <ul>  
  5.         <li>list item 2-ali>  
  6.         <li>list item 2-bli>  
  7.       ul>  
  8.     li>  
  9.     <li>list item 3li>  
  10.     <li>list item 4li>  
  11. ul>div>  
$("ul li:first").css('color','red');        //只匹配第一次,
$("ul li:first-child").css('color','red');    //匹配每个符合要求的对象
5),$().html()和$().text()
$().html()取得第一个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档。
$().text()结果是由所有匹配元素包含的文本内容组合起来的文本。这个方法对HTML和XML文档都有效。

Hello

$('span').html();    //得到的结果是

Hello

$('span').texxt();    //得到的结果是Hello
6),$().empty()和$().remove()
$().empty() 清空匹配元素中的内空,但不清空自身、
$().remove(),清空匹配元素中的内空,以及自身

Hello

$('p').empty() //得到的结果是

$('p').remove() //得到的结果是

 

阅读(257) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~