jquery基础

一、

将DOM对象包装成jQuery对象,我们已经见到两种了: 1)第一种是直接将一个DOM对象作为参数传递给$(): $(window),这样函数$()会将window对象包装成一个jQuery对象然后返回; 2)第二种则是传递一个选择器的参数给$(): $('#parent')。

$实际上是一个函数,

结果为true。这里使用全等运算符比较这两个变量jQuery和$,结果相等,这说明jQuery和$指向的是同一个对象。实际上在引入了jQuery框架之后,它为我们提供了一个jQuery变量,以此作为一个接口让我们可以使用jQuery。但是由于在实际编程中jQuery这个变量使用的频率非常高,而五个单词输入起来相对麻烦一些,所以使用一个“$”变量,让其指向jQuery。

DOM对象和jQuery对象的区别:jQuery对象是由普通 的DOM对象以及jQuery的功能集合构成的,因此要使用jQuery的功能特性,就需要先将普通 的DOM对象通过构造器$()转换成jQuery对象,将普通 的DOM对象作为参数传递给它。

 

jquery选择器:

1、元素选择器
$("p") 选取 <p> 元素。
$("p.intro") 选取所有 class="intro" 的 <p> 元素。
$("p#demo") 选取所有 id="demo" 的 <p> 元素。


2、 属性选择器
$("[href]") 选取所有带有 href 属性的元素。
$("[href='#']") 选取所有带有 href 值等于 "#" 的元素。
$("[href!='#']") 选取所有带有 href 值不等于 "#" 的元素。
$("[href$='.jpg']") 选取所有 href 值以 ".jpg" 结尾的元素。


3、id选择器
例如:$("#lastname") id="lastname" 的元素


4、类选择器:
$(".intro") 所有 class="intro" 的元素
$(".intro.demo") 所有 class="intro" 且 class="demo" 的元素
 

5、 伪类选择器

 

   

 

二、jQuery 效果

1、 隐藏显示:
hide() 和 show() 方法来隐藏和显示 HTML 元素;toggle() 方法来切换 hide() 和 show() 方法,如果当前是hide,toggle会调用show方法,反之则反。
$(selector).hide(speed,callback);
$(selector).show(speed,callback);
$(selector).toggle(speed,callback);
 

2、淡入淡出:
fadeIn() 用于淡入已隐藏的元素,fadeOut() 方法用于淡出可见元素。fadeToggle() 方法可以在 fadeIn() 与 fadeOut() 方法之间进行切换。例:
 

3、滑动
slideDown() 方法用于向下滑动元素,slideUp() 方法用于向上滑动元素。slideToggle() 方法可以在 slideDown() 与 slideUp() 方法之间进行切换

4、改变css样式:css()函数。例:

 

[html] view plain copy

  1. $("." + v).next().css("background-color", "blue");  

利用“属性名/值”对所有匹配元素设置多个样式属性(值) css({"propertyname":"value","propertyname":"value",...});
eg:为所有的p元素设置background-color 和 font-size属性并赋值
$("p").css({"background-color":"yellow","font-size":"200%"});

5、 toggleclass()方法在jQuery中的描述为:为集合中的每个元素添加或移除一个或多个class,至于具体是添加还是移除则取决于当前这个元素中是否存在这个class值,或者由参数state的值决定增删。

 

三、文档操作

   

四、jQuery遍历

通过 jQuery 遍历,您能够从被选(当前的)元素开始,轻松地在家族树中向上移动(祖先),向下移动(子孙),水平移动(同胞)。这种移动被称为对 DOM 进行遍历

1、祖先遍历:

使用parents()查找一个元素所有的父节点,那最终父节点的最顶层会查找到html节点为止,包括这个节点。

2、后代遍历:

$("#div").find("*")表示要找到这个节点下所有在后代节点,包括子节点、孙子节点等

3、同胞遍历:

说明:前面在js博客里提到过js的顺序,而在网页中为了使格式规整,一般都把css和js放前面,这时候为了不出错,最好在js前面加上一个ready函数表示文档已全部加载完成,而这个ready函数一般简写成这样:$(function(){

//这里写主体代码,

})

五、js的隐式迭代:

如对一类元素进行一些统一的操作:

 

[html] view plain copy

  1. $(window).load(function(){  
  2.                 var rows=document.querySelectorAll('tr.row');  
  3.                 var jqueryObj=$(rows);  
  4.                 jqueryObj.addClass('light');  
  5.             })  

也可用全部使用jquery代码:

 

 

[html] view plain copy

  1. $('tr.row').addClass('light');  



相对纯生的javascript少了循环,jQuery会自动的遍历这个数组,并为其中的每个元素执行这个添加class的操作。

 

六、jQuery中操作DOM节点的属性:jQuery为我们提供了attr()方法用于操作DOM的属性。

attr(属性名)
//获取属性的值(取得第一个匹配元素的属性值。通过这个方法可以方便地从第一个匹配元素中获取一个属性的值。如果元素没有相应属性,则返回undefined )
attr(属性名, 属性值)
//设置属性的值 (为所有匹配的元素设置一个属性值。)

七、事件:

讲完了事件对象我们来讲一下事件冒泡,首先我们要知道冒泡事件就是点击子节点,会向上触发父节点,祖先节点的点击事件。阻止事件进行冒泡:

1、通过返回false来取消默认的行为并阻止事件冒泡。 
$("form").bind( 
  "submit", 
  function() { 
    return false; 
   } 
); 

2、通过使用 preventDefault() 方法只取消默认的行为。 
$("form").bind( 
  "submit", 
  function(event){ 
    event.preventDefault(); 
  } 
); 

3、通过使用 stopPropagation() 方法只阻止一个事件冒泡。 
$("form").bind( 
  "submit", 
  function(event){ 
    event.stopPropagation(); 
  } 
); 

 

例:

 


例:现有一个文档阅读器:

框架pdfdemo.html:

 

[html] view plain copy

  1. <span style="color: rgb(0, 0, 153);"><!DOCTYPE html>  
  2. <html>  
  3.     <head>  
  4.         <meta charset="UTF-8">  
  5.         <title></title>  
  6.     </head>  
  7.       
  8.         <frameset cols="20%,10%,70%,*">  
  9.             <frame src="nav.html" name="nav"/>  
  10.             <frame />  
  11.             <frame src="main.html" name="main"/>  
  12.         </frameset>  
  13.       
  14. </html></span>  


导航nav.html:

 

 

[html] view plain copy

  1. <span style="color:#000099;"><!DOCTYPE html>  
  2. <html>  
  3.   
  4.     <head>  
  5.         <meta charset="UTF-8">  
  6.         <title></title>  
  7.         <style>  
  8.             body {  
  9.                 margin: 0px;  
  10.             }  
  11.               
  12.             ul li {  
  13.                 list-style-type: none;  
  14.                 //width: 100%;  
  15.             }  
  16.               
  17.             a {  
  18.                 text-decoration: none;  
  19.                 font-size: 20px;  
  20.                 /*border: 1px solid wheat;  
  21.                 border-radius: 10%;*/  
  22.             }  
  23.               
  24.             a:link {  
  25.                 color: blue;  
  26.             }  
  27.               
  28.             a:visited {  
  29.                 color: black;  
  30.             }  
  31.               
  32.             a:hover {  
  33.                 background-color: orange;  
  34.             }  
  35.               
  36.             a:active {  
  37.                 background-color: orangered;  
  38.             }  
  39.               
  40.             div {  
  41.                 margin-left: 0px;  
  42.                 margin-right: 0px;  
  43.                 border: 1px solid wheat;  
  44.                 border-radius: 10%;  
  45.             }  
  46.         </style>  
  47.         <script type="text/javascript" src="js/jquery-3.2.1.min.js"></script>  
  48.         <script>  
  49.             function togg(v) {  
  50.                 /*var ul=document.getElementsByClassName(v);  
  51.                 if(ul[0].style.display=="none"){  
  52.                     ul[0].style.display="block";  
  53.                 }else{  
  54.                     ul[0].style.display="none";  
  55.                 }*/  
  56.                 $("." + v).toggle()  
  57.             }  
  58.         </script>  
  59.     </head>  
  60.   
  61.     <body>  
  62.         <ul>  
  63.             <li>  
  64.                 <div><img src="img/tb.png" onclick='togg("tran1")' />  
  65.                     <a href="main.html#m1" target="main">jquery</a>  
  66.                 </div>  
  67.                 <ul class="tran1">  
  68.                     <li>  
  69.                         <div>  
  70.                             <a href="main.html#m2" target="main">jquery选择器</a>  
  71.                         </div>  
  72.                     </li>  
  73.                     <li>  
  74.                         <div>  
  75.                             <a href="main.html#m3" target="main">jquery效果</a>  
  76.                         </div>  
  77.                     </li>  
  78.                     <li>  
  79.                         <div>  
  80.                             <a href="main.html#m4" target="main">jquery文档操作</a>  
  81.                         </div>  
  82.                     </li>  
  83.                     <li>  
  84.                         <div>  
  85.                             <img src="img/tb.png" onclick='togg("tran2")' />  
  86.                             <a href="main.html#m5" target="main">jquery遍历</a>  
  87.                         </div>  
  88.                         <ul class="tran2">  
  89.                             <li>  
  90.                                 <div>  
  91.                                     <a href="main.html#m6" target="main">祖先遍历</a>  
  92.                                 </div>  
  93.                             </li>  
  94.                             <li>  
  95.                                 <div>  
  96.                                     <a href="main.html#m7" target="main">后代遍历</a>  
  97.                                 </div>  
  98.                             </li>  
  99.                             <li>  
  100.                                 <div>  
  101.                                     <a href="main.html#m8" target="main">同胞遍历</a>  
  102.                             </li>  
  103.                             </div>  
  104.                         </ul>  
  105.                     </li>  
  106.                     <li>  
  107.                         <div><img src="img/tb.png" onclick='togg("tran3")' />  
  108.                             <a href="main.html#m9" target="main">jquery ajax</a>  
  109.                         </div>  
  110.                         <ul class="tran3">  
  111.                             <li>  
  112.                                 <div>  
  113.                                     <a href="main.html#m10" target="main">load方法</a>  
  114.                             </li>  
  115.                             </div>  
  116.                             <li>  
  117.                                 <div>  
  118.                                     <a href="main.html#m11" target="main">get()和post()方法</a>  
  119.                             </li>  
  120.                             </div>  
  121.                             <li>  
  122.                                 <div>  
  123.                                     <a href="main.html#m12" target="main">jquery.ajax(...)</a>  
  124.                             </li>  
  125.                             </div>  
  126.                         </ul>  
  127.                     </li>  
  128.                 </ul>  
  129.             </li>  
  130.         </ul>  
  131.     </body>  
  132.   
  133. </html></span>  

主体main.html:

 

 

[html] view plain copy

  1. <span style="color:#000099;"><!DOCTYPE html>  
  2. <html>  
  3.   
  4.     <head>  
  5.         <meta charset="UTF-8">  
  6.         <title></title>  
  7.         <style>  
  8.             ul li {  
  9.                 list-style-type: none;  
  10.             }  
  11.               
  12.             table {  
  13.                 width: 600px;  
  14.                 text-align: center;  
  15.                 border: 1px solid wheat;  
  16.                 margin-top: 20px;  
  17.                 font-size: 20px;  
  18.             }  
  19.               
  20.             tr:nth-child(odd) {  
  21.                 background-color: wheat;  
  22.             }  
  23.         </style>  
  24.         <script type="text/javascript" src="js/jquery-3.2.1.min.js"></script>  
  25.         <script>  
  26.             var flag = 0;  
  27.   
  28.             function fun() {  
  29.                 $("ol").slideToggle(1000)  
  30.             }  
  31.   
  32.             function choose(v) {  
  33.                 if(flag == 0) {  
  34.   
  35.                     $("." + v).next().css("background-color", "blue");  
  36.                     flag = 1;  
  37.                 } else if(flag == 1) {  
  38.                     $("." + v).next().css("background-color", "");  
  39.                     flag = 0;  
  40.                 }  
  41.             }  
  42.   
  43.             function choose1(v) {  
  44.                 if(flag == 0) {  
  45.                     $("." + v).css("border", "2px solid red");  
  46.                     flag = 1;  
  47.                 } else {  
  48.                     $("." + v).css("border", "");  
  49.                     flag = 0;  
  50.                 }  
  51.   
  52.             }  
  53.   
  54.             function over() {  
  55.                 $(this).css("cursor", "hand")  
  56.             }  
  57.         </script>  
  58.     </head>  
  59.   
  60.     <body>  
  61.         <div class="container">  
  62.             <a name="m1">  
  63.                 <div>  
  64.                     <h2>.jquery</h2></div>  
  65.             </a>  
  66.             <a name="m2">  
  67.                 <div>  
  68.   
  69.                     <h3><p class="btnp" onclick="fun()" onmouseover="over()">.jquery选择器</p></h3>  
  70.                     <ol>  
  71.                         <li>  
  72.                             <p class="p1" onclick='choose("p1")'>元素选择器</p>  
  73.                             <ul>  
  74.                                 <li>$("p") 选取  
  75.                                     <p> 元素。</li>  
  76.                                 <li>$("p.intro") 选取所有 class="intro" 的  
  77.                                     <p> 元素。</li>  
  78.                                 <li>$("p#demo") 选取所有 id="demo" 的  
  79.                                     <p> 元素。</li>  
  80.                             </ul>  
  81.                         </li>  
  82.                         <li>  
  83.                             <p class="p2" onclick='choose("p2")' onmouseover="over()">属性选择器</p>  
  84.                             <ul>  
  85.                                 <li>$("[href]") 选取所有带有 href 属性的元素。  
  86.   
  87.                                 </li>  
  88.                                 <li>$("[href='#']") 选取所有带有 href 值等于 "#" 的元素。</li>  
  89.                                 <li>$("[href!='#']") 选取所有带有 href 值不等于 "#" 的元素。</li>  
  90.                                 <li>$("[href$='.jpg']") 选取所有 href 值以 ".jpg" 结尾的元素。</li>  
  91.                             </ul>  
  92.                         </li>  
  93.                         <li>  
  94.                             <p class="p3" onclick='choose("p3")' onmouseover="over()">id选择器</p>  
  95.                             <ul>  
  96.                                 <li>例如:$("#lastname") id="lastname" 的元素</li>  
  97.                             </ul>  
  98.                         </li>  
  99.                         <li>  
  100.                             <p class="p4" onclick='choose("p4")' onmouseover="over()">类选择器</p>  
  101.                             <ul>  
  102.                                 <li>$(".intro") 所有 class="intro" 的元素</li>  
  103.                                 <li>$(".intro.demo") 所有 class="intro" 且 class="demo" 的元素</li>  
  104.                             </ul>  
  105.                         </li>  
  106.                         <li>  
  107.                             <p onclick='choose1("p5")' class="p5" onmouseover="over()">伪类素选择器</p>  
  108.                             <table>  
  109.                                 <tr>  
  110.                                     <td>:first</td>  
  111.                                     <td>$("p:first")</td>  
  112.                                     <td>第一个 p元素</td>  
  113.                                 </tr>  
  114.                                 <tr>  
  115.                                     <td>:last</td>  
  116.                                     <td>$("p:last")</td>  
  117.                                     <td>最后一个 p 元素</td>  
  118.                                 </tr>  
  119.                                 <tr>  
  120.                                     <td>:even</td>  
  121.                                     <td>$("tr:even")</td>  
  122.                                     <td>所有偶数 tr 元素</td>  
  123.                                 </tr>  
  124.                                 <tr>  
  125.                                     <td>:odd</td>  
  126.                                     <td>$("tr:odd")</td>  
  127.                                     <td>所有奇数 元素tr</td>  
  128.                                 </tr>  
  129.                             </table>  
  130.   
  131.                             <table>  
  132.                                 <tr>  
  133.                                     <td>:first</td>  
  134.                                     <td>$("p:first")</td>  
  135.                                     <td>第一个 p元素</td>  
  136.                                 </tr>  
  137.                                 <tr>  
  138.                                     <td>:last</td>  
  139.                                     <td>$("p:last")</td>  
  140.                                     <td>最后一个 p 元素</td>  
  141.                                 </tr>  
  142.                                 <tr>  
  143.                                     <td>:even</td>  
  144.                                     <td>$("tr:even")</td>  
  145.                                     <td>所有偶数 tr 元素</td>  
  146.                                 </tr>  
  147.                                 <tr>  
  148.                                     <td>:odd</td>  
  149.                                     <td>$("tr:odd")</td>  
  150.                                     <td>所有奇数 元素tr</td>  
  151.                                 </tr>  
  152.                             </table>  
  153.   
  154.                             <table>  
  155.                                 <tr>  
  156.                                     <td>:first</td>  
  157.                                     <td>$("p:first")</td>  
  158.                                     <td>第一个 p元素</td>  
  159.                                 </tr>  
  160.                                 <tr>  
  161.                                     <td>:last</td>  
  162.                                     <td>$("p:last")</td>  
  163.                                     <td>最后一个 p 元素</td>  
  164.                                 </tr>  
  165.   
  166.                             </table>  
  167.   
  168.                             <table class="tab1">  
  169.                                 <tr>  
  170.                                     <td>:first</td>  
  171.                                     <td>$("p:first")</td>  
  172.                                     <td>第一个 p元素</td>  
  173.                                 </tr>  
  174.                                 <tr>  
  175.                                     <td>:last</td>  
  176.                                     <td>$("p:last")</td>  
  177.                                     <td>最后一个 p 元素</td>  
  178.                                 </tr>  
  179.                                 <tr>  
  180.                                     <td>:first</td>  
  181.                                     <td>$("p:first")</td>  
  182.                                     <td>第一个 p元素</td>  
  183.                                 </tr>  
  184.                                 <tr>  
  185.                                     <td>:last</td>  
  186.                                     <td>$("p:last")</td>  
  187.                                     <td>最后一个 p 元素</td>  
  188.                                 </tr>  
  189.                                 <tr>  
  190.                                     <td>:first</td>  
  191.                                     <td>$("p:first")</td>  
  192.                                     <td>第一个 p元素</td>  
  193.                                 </tr>  
  194.                                 <tr>  
  195.                                     <td>:last</td>  
  196.                                     <td>$("p:last")</td>  
  197.                                     <td>最后一个 p 元素</td>  
  198.                                 </tr>  
  199.                                 <tr>  
  200.                                     <td>:first</td>  
  201.                                     <td>$("p:first")</td>  
  202.                                     <td>第一个 p元素</td>  
  203.                                 </tr>  
  204.                                 <tr>  
  205.                                     <td>:last</td>  
  206.                                     <td>$("p:last")</td>  
  207.                                     <td>最后一个 p 元素</td>  
  208.                                 </tr>  
  209.                                 <tr>  
  210.                                     <td>:first</td>  
  211.                                     <td>$("p:first")</td>  
  212.                                     <td>第一个 p元素</td>  
  213.                                 </tr>  
  214.                                 <tr>  
  215.                                     <td>:last</td>  
  216.                                     <td>$("p:last")</td>  
  217.                                     <td>最后一个 p 元素</td>  
  218.                                 </tr>  
  219.                                 <tr>  
  220.                                     <td>:first</td>  
  221.                                     <td>$("p:first")</td>  
  222.                                     <td>第一个 p元素</td>  
  223.                                 </tr>  
  224.                                 <tr>  
  225.                                     <td>:last</td>  
  226.                                     <td>$("p:last")</td>  
  227.                                     <td>最后一个 p 元素</td>  
  228.                                 </tr>  
  229.                             </table>  
  230.                         </li>  
  231.                     </ol>  
  232.                 </div>  
  233.             </a>  
  234.   
  235.             <a name="m3">  
  236.                 <div>  
  237.                     <h2>.jquery效果</h2>  
  238.                 </div>  
  239.             </a>  
  240.   
  241.             <a name="m4">  
  242.                 <div></div>  
  243.             </a>  
  244.   
  245.             <a name="m5">  
  246.                 <div></div>  
  247.             </a>  
  248.   
  249.             <a name="m6">  
  250.                 <div></div>  
  251.             </a>  
  252.   
  253.             <a name="m7">  
  254.                 <div></div>  
  255.             </a>  
  256.   
  257.             <a name="m8">  
  258.                 <div></div>  
  259.             </a>  
  260.   
  261.             <a name="m9">  
  262.                 <div></div>  
  263.             </a>  
  264.   
  265.             <a name="m10">  
  266.                 <div></div>  
  267.             </a>  
  268.   
  269.             <a name="m11">  
  270.                 <div></div>  
  271.             </a>  
  272.   
  273.             <a name="m12">  
  274.                 <div></div>  
  275.             </a>  
  276.         </div>  
  277.         <script>  
  278.         </script>  
  279.     </body>  
  280.   
  281. </html></span>  


效果:

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值