<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>前端框架 &#8211; 个人随笔</title>
	<atom:link href="/classify/%E5%89%8D%E7%AB%AF%E6%8A%80%E6%9C%AF/%E5%89%8D%E7%AB%AF%E6%A1%86%E6%9E%B6/feed" rel="self" type="application/rss+xml" />
	<link>/</link>
	<description></description>
	<lastBuildDate>Sun, 20 May 2018 01:24:07 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6.1</generator>

<image>
	<url>/wp-content/uploads/2022/01/cropped-截屏2022-01-01-18.57.09-32x32.png</url>
	<title>前端框架 &#8211; 个人随笔</title>
	<link>/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Jquery（一）选择器、操作类、直接样式操作、偏移、操作 HTML 和文本、值操作、Each 循环、复选框选择</title>
		<link>/%e5%89%8d%e7%ab%af%e6%8a%80%e6%9c%af/3458.html</link>
					<comments>/%e5%89%8d%e7%ab%af%e6%8a%80%e6%9c%af/3458.html#respond</comments>
		
		<dc:creator><![CDATA[Mr.Lee]]></dc:creator>
		<pubDate>Sat, 19 May 2018 09:51:01 +0000</pubDate>
				<category><![CDATA[Jquery]]></category>
		<category><![CDATA[前端技术]]></category>
		<category><![CDATA[前端框架]]></category>
		<category><![CDATA[Each 循环]]></category>
		<category><![CDATA[值操作]]></category>
		<category><![CDATA[偏移]]></category>
		<category><![CDATA[复选框选择]]></category>
		<category><![CDATA[操作 HTML 和文本]]></category>
		<category><![CDATA[操作类]]></category>
		<category><![CDATA[直接样式操作]]></category>
		<category><![CDATA[选择器]]></category>
		<guid isPermaLink="false">/?p=3458</guid>

					<description><![CDATA[JQuery第一讲 jQuery简介 jQuery是一个开源的，JavaScript脚本库。 jQuery体系 [&#8230;]]]></description>
										<content:encoded><![CDATA[<h1>JQuery第一讲</h1>
<h2>jQuery简介</h2>
<p>
  jQuery是一个开源的，JavaScript脚本库。
</p>
<h2>jQuery体系</h2>
<p><img fetchpriority="high" decoding="async" width="1000" height="206" src="/wp-content/uploads/2018/05/word-image-3059.png" class="wp-image-3460" srcset="/wp-content/uploads/2018/05/word-image-3059.png 1000w, /wp-content/uploads/2018/05/word-image-3059-300x62.png 300w, /wp-content/uploads/2018/05/word-image-3059-768x158.png 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></p>
<h2>部署jQuery开发环境</h2>
<ol>
<li>
  去网站下载jquery代码
</li>
</ol>
<p><img decoding="async" width="871" height="37" src="/wp-content/uploads/2018/05/word-image-3060.png" class="wp-image-3461" srcset="/wp-content/uploads/2018/05/word-image-3060.png 871w, /wp-content/uploads/2018/05/word-image-3060-300x13.png 300w, /wp-content/uploads/2018/05/word-image-3060-768x33.png 768w" sizes="(max-width: 871px) 100vw, 871px" /></p>
<p>
  脚下留心：从官方网站同一个版本可以下载2个文件，一个是源文件，一个是压缩文件，我们开发的时候使用压缩文件。
</p>
<ol>
<li>
  在页面引入jQuery文件
</li>
</ol>
<p><img decoding="async" width="962" height="95" src="/wp-content/uploads/2018/05/word-image-3061.png" class="wp-image-3462" srcset="/wp-content/uploads/2018/05/word-image-3061.png 962w, /wp-content/uploads/2018/05/word-image-3061-300x30.png 300w, /wp-content/uploads/2018/05/word-image-3061-768x76.png 768w" sizes="(max-width: 962px) 100vw, 962px" /></p>
<h2>jQuery选择器</h2>
<p>
  jQuery中，所有的操作都要转成jQuery对象进行操作。通过$()将元素转成JQuery对象。
</p>
<p>
  $()=jQuery()
</p>
<h3>基本选择器</h3>
<p>
  id选择器、class选择器、标签选择器、组合选择器、后代选择器，子类选择器
</p>
<p>
  &lt;style type=&#8221;text/css&#8221;&gt;
</p>
<p>
  .rose{
</p>
<p>
  	background-color:#11e4e1;
</p>
<p>
  }
</p>
<p>
  .indianred{
</p>
<p>
  	background-color:#cd5d5c;
</p>
<p>
  }
</p>
<p>
  .red{
</p>
<p>
  	color:#F00;
</p>
<p>
  }
</p>
<p>
  &lt;/style&gt;
</p>
<p>
  &lt;!—引入jQuery文件&#8211;&gt;
</p>
<p>
  &lt;script type=&#8221;text/javascript&#8221; src=&#8217;js/jquery-1.11.3.min.js&#8217;&gt;&lt;/script&gt;
</p>
<p>
  &lt;script type=&#8221;text/javascript&#8221;&gt;
</p>
<p>
  //但页面加载完成时
</p>
<p>
  $(document).ready(function(e) {
</p>
<p>
  	//当按钮点击的时候
</p>
<p>
  	$(&#8216;#btn&#8217;).click(function(e) {
</p>
<p>
          //$(&#8216;#first&#8217;).addClass(&#8216;indianred&#8217;);		//id选择器
</p>
<p>
  		//$(&#8216;.second&#8217;).addClass(&#8216;indianred&#8217;);		//class样式
</p>
<p>
  		//$(&#8216;th&#8217;).addClass(&#8216;indianred&#8217;);			//标签选择器
</p>
<p>
  		//$(&#8216;#first,.second&#8217;).addClass(&#8216;rose&#8217;);		//组合选择器
</p>
<p>
  		//$(&#8216;.second td&#8217;).addClass(&#8216;red&#8217;);			//后代选择器
</p>
<p>
  		//$(&#8216;.second&gt;td&#8217;).addClass(&#8216;red&#8217;);			//后代选择器
</p>
<p>
  		//$(&#8216;#first+.second&#8217;).addClass(&#8216;indianred&#8217;);	//紧挨着#first的.second
</p>
<p>
  		$(&#8216;#first~.second&#8217;).addClass(&#8216;indianred&#8217;);	//#first后所有的.second
</p>
<p>
      });
</p>
<p>
  });
</p>
<p>
  &lt;/script&gt;
</p>
<p>
  &lt;table border=&#8217;1&#8242; bordercolor=&#8217;#000&#8242; align=&#8217;center&#8217; width=&#8217;500&#8242;&gt;
</p>
<p>
  	&lt;tr&gt;
</p>
<p>
  		&lt;th&gt;姓名&lt;/th&gt;
</p>
<p>
  		&lt;th&gt;性别&lt;/th&gt;
</p>
<p>
  		&lt;th&gt;年龄&lt;/th&gt;
</p>
<p>
  	&lt;/tr&gt;
</p>
<p>
  	&lt;tr id=&#8217;first&#8217;&gt;
</p>
<p>
  		&lt;td&gt;张三&lt;/td&gt;
</p>
<p>
  		&lt;td&gt;男&lt;/td&gt;
</p>
<p>
  		&lt;td&gt;22&lt;/td&gt;
</p>
<p>
  	&lt;/tr&gt;
</p>
<p>
  	&lt;tr class=&#8217;second&#8217;&gt;
</p>
<p>
  		&lt;td&gt;李四&lt;/td&gt;
</p>
<p>
  		&lt;td&gt;男&lt;/td&gt;
</p>
<p>
  		&lt;td&gt;33&lt;/td&gt;
</p>
<p>
  	&lt;/tr&gt;
</p>
<p>
  	&lt;tr class=&#8217;second&#8217;&gt;
</p>
<p>
  		&lt;td&gt;王五&lt;/td&gt;
</p>
<p>
  		&lt;td&gt;女&lt;/td&gt;
</p>
<p>
  		&lt;td&gt;20&lt;/td&gt;
</p>
<p>
  	&lt;/tr&gt;
</p>
<p>
      &lt;tr  class=&#8217;second&#8217;&gt;
</p>
<p>
  		&lt;th colspan=&#8221;3&#8243;&gt;&lt;table width=&#8221;100%&#8221; border=&#8221;1&#8243;&gt;
</p>
<p>
  		  &lt;tr&gt;
</p>
<p>
  		    &lt;td&gt;aa&lt;/td&gt;
</p>
<p>
  		    &lt;td&gt;bb&lt;/td&gt;
</p>
<p>
  		    &lt;td&gt;&amp;nbsp;&lt;/td&gt;
</p>
<p>
  	      &lt;/tr&gt;
</p>
<p>
  	    &lt;/table&gt;&lt;/th&gt;
</p>
<p>
  	&lt;/tr&gt;
</p>
<p>
  &lt;/table&gt;
</p>
<p>
  &lt;input type=&#8221;button&#8221; value=&#8221;点击&#8221; id=&#8221;btn&#8221;&gt;
</p>
<h3>过滤选择器</h3>
<ol>
<li>
  位置过滤</p>
<ol>
<li>
    :first——第一个元素
  </li>
<li>
    :last——最后一个元素
  </li>
<li>
    :even——第偶数个元素（下标从0开始）
  </li>
<li>
    :odd——第奇数个元素
  </li>
<li>
    :eq(index)——第index元素
  </li>
<li>
    :gt(index)——大于第index的元素
  </li>
<li>
    :lt(index)——小于第index的元素
  </li>
</ol>
</li>
</ol>
<p>
  &lt;style type=&#8221;text/css&#8221;&gt;
</p>
<p>
  .rose{
</p>
<p>
  	background-color:#11e4e1;
</p>
<p>
  }
</p>
<p>
  .indianred{
</p>
<p>
  	background-color:#cd5d5c;
</p>
<p>
  }
</p>
<p>
  .red{
</p>
<p>
  	color:#F00;
</p>
<p>
  }
</p>
<p>
  &lt;/style&gt;
</p>
<p>
  &lt;script type=&#8221;text/javascript&#8221; src=&#8221;js/jquery-1.11.3.min.js&#8221;&gt;&lt;/script&gt;
</p>
<p>
  &lt;script type=&#8221;text/javascript&#8221;&gt;
</p>
<p>
  $(document).ready(function(e) {
</p>
<p>
      $(&#8216;#btn&#8217;).click(function(e) {
</p>
<p>
          //$(&#8216;tr:first&#8217;).addClass(&#8216;indianred&#8217;);			//第一个tr
</p>
<p>
  		//$(&#8216;tr:last&#8217;).addClass(&#8216;indianred&#8217;);			//最后一个tr
</p>
<p>
  		//$(&#8216;tr:even&#8217;).addClass(&#8220;indianred&#8221;);			//第偶数个元素（下标从0开始)
</p>
<p>
  		//$(&#8216;tr:odd&#8217;).addClass(&#8220;indianred&#8221;);			//第奇数个元素
</p>
<p>
  		//$(&#8216;tr:eq(2)&#8217;).addClass(&#8216;indianred&#8217;);			//第2个元素
</p>
<p>
  		$(&#8216;tr:gt(1)&#8217;).addClass(&#8216;indianred&#8217;);			//大于1的元素
</p>
<p>
  		$(&#8216;tr:lt(1)&#8217;).addClass(&#8216;rose&#8217;);					//小于1的元素
</p>
<p>
      });
</p>
<p>
  });
</p>
<p>
  &lt;/script&gt;
</p>
<p>
  &lt;table border=&#8217;1&#8242; bordercolor=&#8217;#000&#8242; align=&#8217;center&#8217; width=&#8217;500&#8242;&gt;
</p>
<p>
  	&lt;tr&gt;
</p>
<p>
  		&lt;th&gt;姓名&lt;/th&gt;
</p>
<p>
  		&lt;th&gt;性别&lt;/th&gt;
</p>
<p>
  		&lt;th&gt;年龄&lt;/th&gt;
</p>
<p>
  	&lt;/tr&gt;
</p>
<p>
  	&lt;tr id=&#8217;first&#8217;&gt;
</p>
<p>
  		&lt;td&gt;张三&lt;/td&gt;
</p>
<p>
  		&lt;td&gt;男&lt;/td&gt;
</p>
<p>
  		&lt;td&gt;22&lt;/td&gt;
</p>
<p>
  	&lt;/tr&gt;
</p>
<p>
  	&lt;tr class=&#8217;second&#8217;&gt;
</p>
<p>
  		&lt;td&gt;李四&lt;/td&gt;
</p>
<p>
  		&lt;td&gt;男&lt;/td&gt;
</p>
<p>
  		&lt;td&gt;33&lt;/td&gt;
</p>
<p>
  	&lt;/tr&gt;
</p>
<p>
  	&lt;tr class=&#8217;second&#8217;&gt;
</p>
<p>
  		&lt;td&gt;王五&lt;/td&gt;
</p>
<p>
  		&lt;td&gt;女&lt;/td&gt;
</p>
<p>
  		&lt;td&gt;20&lt;/td&gt;
</p>
<p>
  	&lt;/tr&gt;
</p>
<p>
  &lt;/table&gt;
</p>
<p>
  &lt;input type=&#8221;button&#8221; value=&#8221;点击&#8221; id=&#8221;btn&#8221;&gt;
</p>
<ol>
<li>
  内容过滤</p>
<ol>
<li>
    :contains(‘内容’)，包含指定内容的元素
  </li>
<li>
    :has()   包含某个子元素
  </li>
<li>
    : not()		去除某个元素
  </li>
<li>
    :header		匹配所有标题h1~h6
  </li>
<li>
    :empty		匹配所有空元素
  </li>
<li>
    :parent		匹配父节点
  </li>
</ol>
</li>
</ol>
<p>
  &lt;script type=&#8221;text/javascript&#8221;&gt;
</p>
<p>
  $(document).ready(function(e) {
</p>
<p>
      $(&#8216;#btn&#8217;).click(function(e) {
</p>
<p>
          //$(&#8216;div:contains(&#8220;锄禾&#8221;)&#8217;).addClass(&#8216;indianred&#8217;);		//包含&#8221;锄禾&#8221;的div
</p>
<p>
  		//$(&#8216;div:has(p)&#8217;).addClass(&#8216;indianred&#8217;);				//含有p标记的div
</p>
<p>
  		//$(&#8216;div:has(#first)&#8217;).addClass(&#8216;indianred&#8217;);				//含有#first的div
</p>
<p>
  		//$(&#8216;div:not(.no1)&#8217;).addClass(&#8216;indianred&#8217;);				//去除掉.no1的div
</p>
<p>
  		//$(&#8216;:header&#8217;).addClass(&#8216;indianred&#8217;);						//选中所有的h1~h6
</p>
<p>
  		//$(&#8216;:empty&#8217;).addClass(&#8217;empty&#8217;);							//匹配所有空元素
</p>
<p>
  		$(&#8216;#first:parent&#8217;).addClass(&#8217;empty&#8217;);					//匹配#first的父节点
</p>
<p>
      });
</p>
<p>
  });
</p>
<p>
  &lt;/script&gt;
</p>
<p>
  &lt;div class=&#8221;first no1&#8243;&gt;&lt;p&gt;锄禾日当午&lt;/p&gt;&lt;/div&gt;
</p>
<p>
  &lt;div class=&#8221;first&#8221;&gt;&lt;p id=&#8221;first&#8221;&gt;汗滴禾下土&lt;/p&gt;&lt;/div&gt;
</p>
<p>
  &lt;h1&gt;一级标题&lt;/h1&gt;
</p>
<p>
  &lt;h2&gt;二级标题&lt;/h2&gt;
</p>
<p>
  &lt;div&gt;&lt;/div&gt;
</p>
<p>
  &lt;input type=&#8221;button&#8221; value=&#8221;点击&#8221; id=&#8221;btn&#8221; /&gt;
</p>
<ol>
<li>
  子元素过滤选择器</p>
<ol>
<li>
    :first-child——父元素的第一个子元素
  </li>
<li>
    :last-child——父元素的最后一个子元素
  </li>
<li>
    :only-child——父元素只有一个元素的节点
  </li>
<li>
    :nth-child(编号,even,odd)——父元素下的指定编号，偶数，奇数的子元素
  </li>
</ol>
</li>
</ol>
<p>
  &lt;script type=&#8221;text/javascript&#8221;&gt;
</p>
<p>
  $(document).ready(function(e) {
</p>
<p>
      $(&#8216;#btn&#8217;).click(function(e) {
</p>
<p>
          //$(&#8216;li:first-child&#8217;).addClass(&#8216;indianred&#8217;);		//li父元素的第一个子元素
</p>
<p>
  		//$(&#8216;li:last-child&#8217;).addClass(&#8216;indianred&#8217;);			//li父元素的最后一子元素
</p>
<p>
  		//$(&#8216;li:only-child&#8217;).addClass(&#8216;indianred&#8217;);			//li父元素只有一个元素的节点
</p>
<p>
  		//$(&#8216;li:nth-child(2)&#8217;).addClass(&#8216;indianred&#8217;);			//li父元素下第2个子元素，从1开始
</p>
<p>
  		//$(&#8216;li:nth-child(even)&#8217;).addClass(&#8216;indianred&#8217;);		//li父元素下第偶数个子元素
</p>
<p>
  		$(&#8216;li:nth-child(odd)&#8217;).addClass(&#8216;indianred&#8217;);		//li父元素下第奇数个子元素
</p>
<p>
      });
</p>
<p>
  });
</p>
<p>
  &lt;/script&gt;
</p>
<p>
  &lt;ul&gt;
</p>
<p>
  	&lt;li&gt;三国演义&lt;/li&gt;
</p>
<p>
      &lt;li&gt;水浒传&lt;/li&gt;
</p>
<p>
      &lt;li&gt;西游记&lt;/li&gt;
</p>
<p>
  &lt;/ul&gt;
</p>
<p>
  &lt;ul&gt;
</p>
<p>
  	&lt;li&gt;钢铁侠&lt;/li&gt;
</p>
<p>
      &lt;li&gt;超人&lt;/li&gt;
</p>
<p>
  &lt;/ul&gt;
</p>
<p>
  &lt;ul&gt;
</p>
<p>
  	&lt;li&gt;大棒子&lt;/li&gt;
</p>
<p>
  &lt;/ul&gt;
</p>
<p>
  &lt;input type=&#8221;button&#8221; value=&#8221;点击&#8221; id=&#8221;btn&#8221; /&gt;
</p>
<ol>
<li>
  表单过滤选择器</p>
<ol>
<li>
    :input——匹配input, select, textarea，button标签
  </li>
<li>
    :text——匹配文本框
  </li>
<li>
    :password——匹配密码框
  </li>
<li>
    :enabled——可以的元素
  </li>
<li>
    :radio——单选按钮
  </li>
<li>
    :checkbox——复选框
  </li>
<li>
    :checked——选中的元素
  </li>
</ol>
</li>
</ol>
<p>
  &lt;script type=&#8221;text/javascript&#8221;&gt;
</p>
<p>
  $(document).ready(function(e) {
</p>
<p>
      $(&#8216;#btn&#8217;).click(function(e) {
</p>
<p>
          //$(&#8216;:input&#8217;).addClass(&#8216;indianred&#8217;);		//表示input,select,textarea，button标签
</p>
<p>
  		//$(&#8216;:text&#8217;).addClass(&#8216;indianred&#8217;);			//文本框
</p>
<p>
  		//$(&#8216;:password&#8217;).addClass(&#8216;indianred&#8217;);		//密码框
</p>
<p>
  		//$(&#8216;:enabled&#8217;).addClass(&#8216;indianred&#8217;);		//可用的元素
</p>
<p>
  		//$(&#8216;:radio,:checkbox&#8217;).addClass(&#8216;style1&#8217;);	//单选按钮和复选框
</p>
<p>
  		$(&#8216;:checked&#8217;).addClass(&#8216;style1&#8217;);		//选中的元素
</p>
<p>
      });
</p>
<p>
  });
</p>
<p>
  &lt;/script&gt;
</p>
<p>
  姓名：&lt;input type=&#8221;text&#8221; disabled=&#8221;disabled&#8221;/&gt;&lt;br /&gt;
</p>
<p>
  密码：&lt;input type=&#8221;password&#8221; /&gt;&lt;br /&gt;
</p>
<p>
  性别：&lt;input type=&#8221;radio&#8221; name=&#8221;sex&#8221; value=&#8221;男&#8221; checked=&#8221;checked&#8221; /&gt;男
</p>
<p>
  	&lt;input type=&#8221;radio&#8221; name=&#8221;sex&#8221; value=&#8221;女&#8221; /&gt;女&lt;br /&gt;
</p>
<p>
  爱好：&lt;input type=&#8221;checkbox&#8221; value=&#8221;爬山&#8221; checked=&#8221;checked&#8221; /&gt;爬山
</p>
<p>
  	&lt;input type=&#8221;checkbox&#8221; value=&#8221;游泳&#8221; /&gt;游泳 &lt;br /&gt;
</p>
<p>
  籍贯：&lt;select&gt;
</p>
<p>
  		&lt;option&gt;上海&lt;/option&gt;
</p>
<p>
          &lt;option&gt;北京&lt;/option&gt;
</p>
<p>
  &lt;/select&gt;&lt;br /&gt;
</p>
<p>
  意见和建议：&lt;textarea&gt;&lt;/textarea&gt; &lt;br /&gt;
</p>
<p>
  &lt;input type=&#8221;submit&#8221; value=&#8221;提交&#8221; /&gt;
</p>
<p>
  &lt;input type=&#8221;reset&#8221; value=&#8221;重置&#8221; /&gt;
</p>
<p>
  &lt;input type=&#8221;button&#8221; value=&#8221;点击&#8221; id=&#8221;btn&#8221; /&gt;
</p>
<p>
  &lt;button&gt;这也是按钮&lt;/button&gt;
</p>
<ol>
<li>
  属性过滤选择器</p>
<ol>
<li>
    [属性]：匹配带有指定属性的元素
  </li>
<li>
    [属性=value]：匹配属性=value的元素
  </li>
<li>
    [属性!=value]：匹配属性!=value的元素
  </li>
<li>
    [属性^=value]：匹配属性以value开头的元素
  </li>
<li>
    [属性$=value]：匹配属性以value结尾的元素
  </li>
<li>
    [属性*=value]：匹配属性以包含value的元素
  </li>
<li>
    [属性1=value1][属性2=value2]：同时具有属性1和属性2的元素
  </li>
</ol>
</li>
</ol>
<p>
  &lt;script type=&#8221;text/javascript&#8221;&gt;
</p>
<p>
  $(document).ready(function(e) {
</p>
<p>
      $(&#8216;#btn&#8217;).click(function(e) {
</p>
<p>
          //$(&#8216;:text[class]&#8217;).addClass(&#8216;indianred&#8217;);	//带有class属性的文本框元素
</p>
<p>
  		//$(&#8216;[class]&#8217;).addClass(&#8216;indianred&#8217;);			//带有class属性的所有元素
</p>
<p>
  		//$(&#8216;:text[name=firstname]&#8217;).addClass(&#8216;indianred&#8217;);	//name=firstname的文本框元素
</p>
<p>
  		//$(&#8216;:text[name!=firstname]&#8217;).addClass(&#8216;indianred&#8217;);	//name!=firstname的文本框元素
</p>
<p>
  		//$(&#8216;:text[name^=first]&#8217;).addClass(&#8216;indianred&#8217;);		//name属性的值以first开头的元素
</p>
<p>
  		//$(&#8216;:text[name$=name]&#8217;).addClass(&#8216;indianred&#8217;);		//name属性的值以name结尾的元素
</p>
<p>
  		//$(&#8216;:text[name*=stna]&#8217;).addClass(&#8216;indianred&#8217;);		//name属性中带有stna的元素
</p>
<p>
  		$(&#8216;:text[name$=name][class]&#8217;).addClass(&#8216;indianred&#8217;);//name属性的值以name结尾的元素，同时带有class属性
</p>
<p>
      });
</p>
<p>
  });
</p>
<p>
  &lt;/script&gt;
</p>
<p>
  &lt;input type=&#8221;text&#8221; name=&#8221;firstname&#8221; value=&#8221;张&#8221; class=&#8217;stu&#8217;  /&gt; &lt;br /&gt;
</p>
<p>
  &lt;input type=&#8221;text&#8221; name=&#8221;middlename&#8221; value=&#8221;三&#8221; /&gt;&lt;br /&gt;
</p>
<p>
  &lt;input type=&#8221;text&#8221; name=&#8221;lastname&#8221; value=&#8221;峰&#8221; /&gt;&lt;br /&gt;
</p>
<p>
  &lt;input type=&#8221;text&#8221; name=&#8221;firstcity&#8221; value=&#8221;上海&#8221; class /&gt;&lt;br /&gt;
</p>
<p>
  &lt;input type=&#8221;button&#8221; value=&#8221;点击&#8221; id=&#8221;btn&#8221; /&gt;
</p>
<p>
  &lt;div class=&#8221;&#8221;&gt;锄禾日当午&lt;/div&gt;
</p>
<h2>操作属性</h2>
<ol>
<li>
  jQuery对象.attr(属性)：获取对象的属性值，只获取第一个元素
</li>
<li>
  jQuery对象.attr(属性,值)：将值付给所有的jQuery对象
</li>
<li>
  jQuery对象.attr(属性,function(){});	//将函数的返回值付给属性
</li>
<li>
  jQuery对象.attr({属性:属性值,属性:属性值})
</li>
<li>
  jQuery对象.removeAttr(属性名)
</li>
</ol>
<p><img loading="lazy" decoding="async" width="1058" height="386" src="/wp-content/uploads/2018/05/word-image-3062.png" class="wp-image-3463" srcset="/wp-content/uploads/2018/05/word-image-3062.png 1058w, /wp-content/uploads/2018/05/word-image-3062-300x109.png 300w, /wp-content/uploads/2018/05/word-image-3062-768x280.png 768w, /wp-content/uploads/2018/05/word-image-3062-1024x374.png 1024w" sizes="(max-width: 1058px) 100vw, 1058px" /></p>
<h2>操作类</h2>
<ol>
<li>
  addClass(类名)——添加类
</li>
<li>
  removeClass(类名)——删除类
</li>
<li>
  toggleClass(类名)——交替
</li>
</ol>
<p><img loading="lazy" decoding="async" width="779" height="379" src="/wp-content/uploads/2018/05/word-image-3063.png" class="wp-image-3464" srcset="/wp-content/uploads/2018/05/word-image-3063.png 779w, /wp-content/uploads/2018/05/word-image-3063-300x146.png 300w, /wp-content/uploads/2018/05/word-image-3063-768x374.png 768w" sizes="(max-width: 779px) 100vw, 779px" /></p>
<h2>直接样式操作</h2>
<ol>
<li>
  css(name)：获取样式的值
</li>
<li>
  css(name,value)：给样式赋值
</li>
<li>
  css({样式:值，样式:值})
</li>
</ol>
<p><img loading="lazy" decoding="async" width="808" height="228" src="/wp-content/uploads/2018/05/word-image-3064.png" class="wp-image-3465" srcset="/wp-content/uploads/2018/05/word-image-3064.png 808w, /wp-content/uploads/2018/05/word-image-3064-300x85.png 300w, /wp-content/uploads/2018/05/word-image-3064-768x217.png 768w" sizes="(max-width: 808px) 100vw, 808px" /></p>
<h2>offset()：偏移</h2>
<p>
  坐标原点是浏览器客户端的左上角
</p>
<p><img loading="lazy" decoding="async" width="892" height="344" src="/wp-content/uploads/2018/05/word-image-3065.png" class="wp-image-3466" srcset="/wp-content/uploads/2018/05/word-image-3065.png 892w, /wp-content/uploads/2018/05/word-image-3065-300x116.png 300w, /wp-content/uploads/2018/05/word-image-3065-768x296.png 768w" sizes="(max-width: 892px) 100vw, 892px" /></p>
<p>
  注意：
</p>
<p><img loading="lazy" decoding="async" width="574" height="179" src="/wp-content/uploads/2018/05/word-image-3066.png" class="wp-image-3467" srcset="/wp-content/uploads/2018/05/word-image-3066.png 574w, /wp-content/uploads/2018/05/word-image-3066-300x94.png 300w" sizes="(max-width: 574px) 100vw, 574px" /></p>
<h2>宽度、高度操作</h2>
<ol>
<li>
  width()：获取宽度
</li>
<li>
  width(value)：设置宽度
</li>
<li>
  height()：获取高度
</li>
<li>
  height(value)：设置高度
</li>
</ol>
<p><img loading="lazy" decoding="async" width="1019" height="397" src="/wp-content/uploads/2018/05/word-image-3067.png" class="wp-image-3468" srcset="/wp-content/uploads/2018/05/word-image-3067.png 1019w, /wp-content/uploads/2018/05/word-image-3067-300x117.png 300w, /wp-content/uploads/2018/05/word-image-3067-768x299.png 768w" sizes="(max-width: 1019px) 100vw, 1019px" /></p>
<h2>操作HTML和文本</h2>
<ol>
<li>
  html()：获取HTML代码
</li>
<li>
  html(value)：将value作为HTML付给元素
</li>
<li>
  text()：获取文本
</li>
<li>
  text(value)：将value的值作为文本付给元素
</li>
</ol>
<p><img loading="lazy" decoding="async" width="759" height="227" src="/wp-content/uploads/2018/05/word-image-3068.png" class="wp-image-3469" srcset="/wp-content/uploads/2018/05/word-image-3068.png 759w, /wp-content/uploads/2018/05/word-image-3068-300x90.png 300w" sizes="(max-width: 759px) 100vw, 759px" /></p>
<h2>值操作</h2>
<ol>
<li>
  val()：获取值
</li>
<li>
  val(value)：给value属性赋值
</li>
</ol>
<p><img loading="lazy" decoding="async" width="628" height="190" src="/wp-content/uploads/2018/05/word-image-3069.png" class="wp-image-3470" srcset="/wp-content/uploads/2018/05/word-image-3069.png 628w, /wp-content/uploads/2018/05/word-image-3069-300x91.png 300w" sizes="(max-width: 628px) 100vw, 628px" /></p>
<h2>each循环</h2>
<p>
  方法一：$.each(数组/对象，回调函数)
</p>
<p>
  方法二：jQuery元素.each(回调函数)
</p>
<p><img loading="lazy" decoding="async" width="798" height="226" src="/wp-content/uploads/2018/05/word-image-3070.png" class="wp-image-3471" srcset="/wp-content/uploads/2018/05/word-image-3070.png 798w, /wp-content/uploads/2018/05/word-image-3070-300x85.png 300w, /wp-content/uploads/2018/05/word-image-3070-768x218.png 768w" sizes="(max-width: 798px) 100vw, 798px" /></p>
<h2>例题（复选框选择）</h2>
<p>
  &lt;script type=&#8221;text/javascript&#8221; src=&#8221;js/jquery-1.8.3.min.js&#8221;&gt;&lt;/script&gt;
</p>
<p>
  &lt;script type=&#8221;text/javascript&#8221;&gt;
</p>
<p>
  $(document).ready(function(e) {
</p>
<p>
  	//全选
</p>
<p>
      $(&#8216;:button:first&#8217;).click(function(e) {
</p>
<p>
          $(&#8216;:checkbox&#8217;).attr(&#8216;checked&#8217;,&#8217;checked&#8217;);
</p>
<p>
      });
</p>
<p>
  	//反选
</p>
<p>
  	$(&#8216;:button:eq(1)&#8217;).click(function(e) {
</p>
<p>
          $(&#8216;:checkbox&#8217;).each(function(index, element) {
</p>
<p>
             	$(this).attr(&#8216;checked&#8217;,!$(this).attr(&#8216;checked&#8217;));
</p>
<p>
          });
</p>
<p>
      });
</p>
<p>
  	//取消全选
</p>
<p>
  	$(&#8216;:button:last&#8217;).click(function(e) {
</p>
<p>
          $(&#8216;:checkbox&#8217;).removeAttr(&#8216;checked&#8217;);
</p>
<p>
      });
</p>
<p>
  });
</p>
<p>
  &lt;/script&gt;
</p>
<p>
  &lt;input type=&#8221;button&#8221; value=&#8221;全选&#8221; /&gt;
</p>
<p>
  &lt;input type=&#8221;button&#8221; value=&#8221;反选&#8221; /&gt;
</p>
<p>
  &lt;input type=&#8221;button&#8221; value=&#8221;取消全选&#8221; /&gt;
</p>
<p>
  &lt;form&gt;
</p>
<p>
  	&lt;input type=&#8221;checkbox&#8221; value=&#8221;读书&#8221; name=&#8221;hobby&#8221; /&gt;读书&lt;br /&gt;
</p>
<p>
      &lt;input type=&#8221;checkbox&#8221; value=&#8221;游泳&#8221; name=&#8221;hobby&#8221;/&gt;游泳&lt;br /&gt;
</p>
<p>
      &lt;input type=&#8221;checkbox&#8221; value=&#8221;看报&#8221; name=&#8221;hobby&#8221;/&gt;看报&lt;br /&gt;
</p>
<p>
  &lt;/form&gt;
</p>
<p>
  脚下留心：jQuery版本不同，有少部分方法也会有差异。
</p>
<p>
  多学一招：通过val()实现选中功能
</p>
<p><img loading="lazy" decoding="async" width="751" height="366" src="/wp-content/uploads/2018/05/word-image-3071.png" class="wp-image-3472" srcset="/wp-content/uploads/2018/05/word-image-3071.png 751w, /wp-content/uploads/2018/05/word-image-3071-300x146.png 300w" sizes="(max-width: 751px) 100vw, 751px" /></p>
<ol>
<li>
  能够在html代码中引入jQuery库
</li>
<li>
  能够理解选择器的作用
</li>
<li>
  能够说出或使用多种选择器
</li>
<li>
  能够组合使用选择器
</li>
<li>
  能够使用jQuery操作html属性
</li>
<li>
  能够使用jQuery操作css属性
</li>
<li>
  能够熟练使用jQuery()的页面载入事件ready()
</li>
<li>
  能够理解each()的作用
</li>
<li>
  能够使用each()方法遍历jQuery对象
</li>
<li>
  能够解释dom对象和jQuery对象的区别
</li>
<li>
  能够将dom对象和jQuery对象相互转换
</li>
<li>
  能够使用bind()方法绑定事件
</li>
<li>
  能够熟练使用jQuery的常规事件绑定语法
</li>
<li>
  能够使用事件切换方法hover(),toggle()
</li>
<li>
  能够使用jQuery的基本特效方法 show(),hide(),toggle()
</li>
<li>
  能够使用jQuery的滑动特效方法 slideDown(),slideUp(),slideToggle()
</li>
<li>
  能够使用jQuery的淡入淡出特效方法
</li>
<li>
  能够将内容插入到元素内部或外部
</li>
<li>
  能够清空元素内容或删除元素本身
</li>
<li>
  能够使用replaceWith()替换元素
</li>
<li>
  能够复制指定元素
</li>
<li>
  能够把内容从外面包裹上新元素
</li>
<li>
  能够使用元素查找或匹配的多个方法
</li>
<li>
  能够理解jQuery中插件的作用
</li>
<li>
  能够制作自定义插件
</li>
<li>
  能够使用jQuery实现ajax的get请求
</li>
<li>
  能够使用jQuery实现ajax的post请求
</li>
</ol>
]]></content:encoded>
					
					<wfw:commentRss>/%e5%89%8d%e7%ab%af%e6%8a%80%e6%9c%af/3458.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Jquery（二）元素集合查找、链式操作、DOM、缓存数据</title>
		<link>/%e5%89%8d%e7%ab%af%e6%8a%80%e6%9c%af/3437.html</link>
					<comments>/%e5%89%8d%e7%ab%af%e6%8a%80%e6%9c%af/3437.html#respond</comments>
		
		<dc:creator><![CDATA[Mr.Lee]]></dc:creator>
		<pubDate>Sat, 19 May 2018 09:48:15 +0000</pubDate>
				<category><![CDATA[Jquery]]></category>
		<category><![CDATA[前端技术]]></category>
		<category><![CDATA[前端框架]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[元素集合查找]]></category>
		<category><![CDATA[缓存数据]]></category>
		<category><![CDATA[链式操作]]></category>
		<guid isPermaLink="false">/?p=3437</guid>

					<description><![CDATA[jQuery第二讲 过滤元素 filter()：过滤元素 hasClass()：检查有没有指定的类 is()： [&#8230;]]]></description>
										<content:encoded><![CDATA[<h1>jQuery第二讲</h1>
<h2>过滤元素</h2>
<ol>
<li>
  filter()：过滤元素
</li>
<li>
  hasClass()：检查有没有指定的类
</li>
<li>
  is()：检查有没有指定的选择器
</li>
</ol>
<p><img loading="lazy" decoding="async" width="1049" height="481" src="/wp-content/uploads/2018/05/word-image-3040.png" class="wp-image-3439" srcset="/wp-content/uploads/2018/05/word-image-3040.png 1049w, /wp-content/uploads/2018/05/word-image-3040-300x138.png 300w, /wp-content/uploads/2018/05/word-image-3040-768x352.png 768w, /wp-content/uploads/2018/05/word-image-3040-1024x470.png 1024w" sizes="(max-width: 1049px) 100vw, 1049px" /></p>
<h2>在元素集合中查找</h2>
<ol>
<li>
  find()：在子元素中查找
</li>
<li>
  children()：匹配子元素集合
</li>
<li>
  next()：查找下一个元素
</li>
<li>
  nextAll()：后面所有元素
</li>
<li>
  prev()：前面的元素
</li>
<li>
  prevAll()：前面所有元素
</li>
<li>
  siblings()：所有同辈元素
</li>
<li>
  parent()：元素的父节点
</li>
<li>
  parents()：元素的父节点的集合
</li>
</ol>
<p>
  &lt;script type=&#8221;text/javascript&#8221;&gt;
</p>
<p>
  $(document).ready(function(e) {
</p>
<p>
      $(&#8220;:button&#8221;).click(function(e) {
</p>
<p>
          //$(&#8216;form&#8217;).find(&#8216;:text&#8217;).css(&#8216;background-color&#8217;,&#8217;#930&#8242;);	//在子元素中查找
</p>
<p>
  		/*
</p>
<p>
  		$(&#8216;form&gt;fieldset&#8217;).children(&#8216;input&#8217;).each(function(index, element) {		//获取子元素
</p>
<p>
              console.log($(this));
</p>
<p>
          });
</p>
<p>
  		*/
</p>
<p>
  		//$(&#8216;#firstname&#8217;).next().next().css(&#8216;background-color&#8217;,&#8217;#930&#8242;);
</p>
</p>
<p>
  		//$(&#8216;#firstname&#8217;).nextAll().css(&#8216;background-color&#8217;,&#8217;#930&#8242;);
</p>
</p>
<p>
  		//$(&#8216;#city&#8217;).prev().prev().css(&#8216;background-color&#8217;,&#8217;#930&#8242;);
</p>
</p>
<p>
  		//$(&#8216;#city&#8217;).prevAll().css(&#8216;background-color&#8217;,&#8217;#930&#8242;);
</p>
</p>
<p>
  		//$(&#8216;#lastname&#8217;).siblings().css(&#8216;background-color&#8217;,&#8217;#930&#8242;);
</p>
</p>
<p>
  		//$(&#8216;#lastname&#8217;).parent().css(&#8216;background-color&#8217;,&#8217;#930&#8242;);
</p>
</p>
<p>
  		$(&#8216;#lastname&#8217;).parents(&#8216;body&#8217;).css(&#8216;background-color&#8217;,&#8217;#930&#8242;);
</p>
<p>
      });
</p>
<p>
  });
</p>
<p>
  &lt;/script&gt;
</p>
<p>
  &lt;p&gt;锄禾日当午&lt;/p&gt;
</p>
<p>
  &lt;form&gt;
</p>
<p>
      &lt;fieldset&gt;
</p>
<p>
      	&lt;legend&gt;在元素中查找&lt;/legend&gt;
</p>
<p>
      姓：&lt;input type=&#8221;text&#8221; id=&#8221;firstname&#8221; value=&#8221;张&#8221; /&gt;&lt;br /&gt;
</p>
<p>
      名：&lt;input type=&#8221;text&#8221; id=&#8221;lastname&#8221; value=&#8221;三峰&#8221; /&gt;&lt;br /&gt;
</p>
<p>
      城市：&lt;input type=&#8221;text&#8221; id=&#8221;city&#8221; value=&#8221;上海&#8221; /&gt;&lt;br&gt;
</p>
<p>
      &lt;input type=&#8221;button&#8221; value=&#8221;点击&#8221; id=&#8221;btn&#8221; /&gt;
</p>
<p>
      &lt;/fieldset&gt;
</p>
<p>
  &lt;/form&gt;
</p>
<h2>链式操作</h2>
<p>
  把多个操作用“.”连成一行，用来简化操作。
</p>
<p>
  原理：每个方法执行完毕后，将当前对象返回出来。
</p>
<p><img loading="lazy" decoding="async" width="634" height="69" src="/wp-content/uploads/2018/05/word-image-3041.png" class="wp-image-3440" srcset="/wp-content/uploads/2018/05/word-image-3041.png 634w, /wp-content/uploads/2018/05/word-image-3041-300x33.png 300w" sizes="(max-width: 634px) 100vw, 634px" /></p>
<h2>例题</h2>
<p><img loading="lazy" decoding="async" width="1233" height="386" src="/wp-content/uploads/2018/05/word-image-3042.png" class="wp-image-3441" srcset="/wp-content/uploads/2018/05/word-image-3042.png 1233w, /wp-content/uploads/2018/05/word-image-3042-300x94.png 300w, /wp-content/uploads/2018/05/word-image-3042-768x240.png 768w, /wp-content/uploads/2018/05/word-image-3042-1024x321.png 1024w" sizes="(max-width: 1233px) 100vw, 1233px" /></p>
<h2>DOM操作</h2>
<h3>在元素的内部添加内容</h3>
<ol>
<li>
  在内部的后面添加内容</p>
<ol>
<li>
    A. append(B)：将B添加到A里面的后面
  </li>
<li>
    A. appendTo(B)：将A添加到B里面的后面
  </li>
</ol>
</li>
</ol>
<p><img loading="lazy" decoding="async" width="1095" height="264" src="/wp-content/uploads/2018/05/word-image-3043.png" class="wp-image-3442" srcset="/wp-content/uploads/2018/05/word-image-3043.png 1095w, /wp-content/uploads/2018/05/word-image-3043-300x72.png 300w, /wp-content/uploads/2018/05/word-image-3043-768x185.png 768w, /wp-content/uploads/2018/05/word-image-3043-1024x247.png 1024w" sizes="(max-width: 1095px) 100vw, 1095px" /></p>
<ol>
<li>
  在内部的前面添加内容</p>
<ol>
<li>
    A.prepend(B)：在A的内部的前面添加B的内容
  </li>
<li>
    A.prependTo(B)：将A添加到B的内部的前面
  </li>
</ol>
</li>
</ol>
<p><img loading="lazy" decoding="async" width="754" height="248" src="/wp-content/uploads/2018/05/word-image-3044.png" class="wp-image-3443" srcset="/wp-content/uploads/2018/05/word-image-3044.png 754w, /wp-content/uploads/2018/05/word-image-3044-300x99.png 300w" sizes="(max-width: 754px) 100vw, 754px" /></p>
<h3>在元素的外部添加内容</h3>
<ol>
<li>
  在元素外部的后面</p>
<ol>
<li>
    A.after(B)：将B插入到A外部的后面
  </li>
<li>
    A.insertAfter(B)：将A插入到B的外部的后面
  </li>
</ol>
</li>
</ol>
<p><img loading="lazy" decoding="async" width="821" height="266" src="/wp-content/uploads/2018/05/word-image-3045.png" class="wp-image-3444" srcset="/wp-content/uploads/2018/05/word-image-3045.png 821w, /wp-content/uploads/2018/05/word-image-3045-300x97.png 300w, /wp-content/uploads/2018/05/word-image-3045-768x249.png 768w" sizes="(max-width: 821px) 100vw, 821px" /></p>
<ol>
<li>
  在元素外部的前面</p>
<ol>
<li>
    A.before(B)：将B插入到A的外部的前面
  </li>
<li>
    A.insert Before(B)：将A插入到B的外部的前面
  </li>
</ol>
</li>
</ol>
<p><img loading="lazy" decoding="async" width="984" height="269" src="/wp-content/uploads/2018/05/word-image-3046.png" class="wp-image-3445" srcset="/wp-content/uploads/2018/05/word-image-3046.png 984w, /wp-content/uploads/2018/05/word-image-3046-300x82.png 300w, /wp-content/uploads/2018/05/word-image-3046-768x210.png 768w" sizes="(max-width: 984px) 100vw, 984px" /></p>
<h2>例题（年月日）</h2>
<p>
  效果：选择年和月，自动显示对应的天数
</p>
<p>
  &lt;script type=&#8221;text/javascript&#8221;&gt;
</p>
<p>
  //添加option标签
</p>
<p>
  function insertOption(end,target){
</p>
<p>
  	for(var i=1;i&lt;=end;i++){
</p>
<p>
  		$(&#8216;&lt;option&gt;&#8217;).html(i).attr(&#8216;value&#8217;,i).appendTo($(&#8216;#&#8217;+target));
</p>
<p>
  	}
</p>
<p>
  }
</p>
<p>
  //添加年
</p>
<p>
  function addYear(){
</p>
<p>
  	var yy=&lt;?php echo date(&#8216;Y&#8217;)?&gt;;
</p>
<p>
  	for(var i=yy;i&gt;=yy-100;i&#8211;){
</p>
<p>
  		$(&#8216;&lt;option&gt;&#8217;).html(i).attr(&#8216;value&#8217;,i).appendTo($(&#8216;#year&#8217;));
</p>
<p>
  	}
</p>
<p>
  }
</p>
<p>
  //添加月
</p>
<p>
  function addMonth(){
</p>
<p>
  	insertOption(12,&#8217;month&#8217;)
</p>
<p>
  }
</p>
<p>
  //添加日
</p>
<p>
  function addDay(){
</p>
<p>
  	$(&#8216;#day&#8217;).html(&#8221;);
</p>
<p>
  	var yy=$(&#8216;#year&#8217;).val();
</p>
<p>
  	var mm=$(&#8216;#month&#8217;).val();
</p>
<p>
  	if(mm==1||mm==3||mm==5||mm==7||mm==8||mm==10||mm==12){
</p>
<p>
  		insertOption(31,&#8217;day&#8217;);
</p>
<p>
  	}else if(mm==2){
</p>
<p>
  		if(yy%4==0 &amp;&amp; yy%100!=0 || yy%400==0){
</p>
<p>
  			insertOption(29,&#8217;day&#8217;)
</p>
<p>
  		}else{
</p>
<p>
  			insertOption(28,&#8217;day&#8217;);
</p>
<p>
  		}
</p>
<p>
  	}
</p>
<p>
  	else
</p>
<p>
  		insertOption(30,&#8217;day&#8217;);
</p>
<p>
  }
</p>
<p>
  $(document).ready(function(e) {
</p>
<p>
      addYear();
</p>
<p>
  	addMonth();
</p>
<p>
  	addDay();
</p>
<p>
  	$(&#8216;#year,#month&#8217;).change(function(e) {
</p>
<p>
          addDay();
</p>
<p>
      });
</p>
<p>
  });
</p>
<p>
  &lt;/script&gt;
</p>
<p>
  &lt;form id=&#8221;form1&#8243; name=&#8221;form1&#8243; method=&#8221;post&#8221; action=&#8221;&#8221;&gt;
</p>
<p>
    &lt;select name=&#8221;year&#8221; id=&#8221;year&#8221;&gt;&lt;/select&gt;年
</p>
<p>
    &lt;select name=&#8221;month&#8221; id=&#8221;month&#8221;&gt;&lt;/select&gt;月
</p>
<p>
    &lt;select name=&#8221;day&#8221; id=&#8221;day&#8221;&gt;&lt;/select&gt;日
</p>
<p>
  &lt;/form&gt;
</p>
<p>
  运行结果
</p>
<p><img loading="lazy" decoding="async" width="354" height="91" src="/wp-content/uploads/2018/05/word-image-3047.png" class="wp-image-3446" srcset="/wp-content/uploads/2018/05/word-image-3047.png 354w, /wp-content/uploads/2018/05/word-image-3047-300x77.png 300w" sizes="(max-width: 354px) 100vw, 354px" /></p>
<h2>例题（模拟126邮箱注册效果）</h2>
<h3>Sprits技术</h3>
<p>
  将页面用到的许多小图拼到一个大图上，通过CSS来显示不同的区域。可以有效的减少往返次数。
</p>
<p>
  &lt;style type=&#8221;text/css&#8221;&gt;
</p>
<p>
  /*按钮的样式*/
</p>
<p>
  .btn{
</p>
<p>
  	width:119px;
</p>
<p>
  	height:37px;
</p>
<p>
  	background-image:url(images/glb_v2.png);
</p>
<p>
  	background-repeat:no-repeat;
</p>
<p>
  	background-position:-146px -362px;
</p>
<p>
  	cursor:pointer;
</p>
<p>
  }
</p>
<p>
  /*鼠标移动到按钮上*/
</p>
<p>
  .btn:hover{
</p>
<p>
  	background-position:-289px -362px;
</p>
<p>
  }
</p>
<p>
  &lt;/style&gt;
</p>
<p>
  用户名：&lt;input type=&#8221;text&#8221; /&gt;&lt;br /&gt;
</p>
<p>
  &lt;input type=&#8221;button&#8221; value=&#8221;返回&#8221; class=&#8221;btn&#8221; /&gt;
</p>
<p>
  &lt;input type=&#8221;button&#8221; value=&#8221;提交&#8221; class=&#8221;btn&#8221; /&gt;
</p>
<p>
  运行结果
</p>
<p><img loading="lazy" decoding="async" width="354" height="76" src="/wp-content/uploads/2018/05/word-image-3048.png" class="wp-image-3447" srcset="/wp-content/uploads/2018/05/word-image-3048.png 354w, /wp-content/uploads/2018/05/word-image-3048-300x64.png 300w" sizes="(max-width: 354px) 100vw, 354px" /></p>
<h3>模仿126邮箱注册</h3>
<p>
  &lt;style type=&#8221;text/css&#8221;&gt;
</p>
<p>
  *{
</p>
<p>
  	margin:0px;
</p>
<p>
  	padding:0px;
</p>
<p>
  	font-size:14px;
</p>
<p>
  	font-family:&#8217;微软雅黑&#8217;;
</p>
<p>
  }
</p>
<p>
  dt,dd{
</p>
<p>
  	float:left;
</p>
<p>
  }
</p>
<p>
  .txt{
</p>
<p>
  	width:300px;
</p>
<p>
  	height:17px;
</p>
<p>
  	border:#7B7B7B solid 1xp;
</p>
<p>
  }
</p>
<p>
  .bg&gt;span,.span{
</p>
<p>
  	width:14px;
</p>
<p>
  	height:14px;
</p>
<p>
  	display:inline-block;
</p>
<p>
  	background:url(images/glb_v2.png) no-repeat -36px -288px;
</p>
<p>
  }
</p>
<p>
  .bg{
</p>
<p>
  	color:#C00;
</p>
<p>
  	display:none;
</p>
<p>
  }
</p>
<p>
  &lt;/style&gt;
</p>
<p>
  &lt;script type=&#8221;text/javascript&#8221; src=&#8221;js/jquery-1.8.3.min.js&#8221;&gt;&lt;/script&gt;
</p>
<p>
  &lt;script type=&#8221;text/javascript&#8221;&gt;
</p>
<p>
  $(document).ready(function(e) {
</p>
<p>
  	//设置样式
</p>
<p>
      $(&#8216;#pwd&#8217;).blur(function(e) {
</p>
<p>
          var pwd=$(this).val();
</p>
<p>
  		if(!(pwd.length&gt;=6 &amp;&amp; pwd.length&lt;=16)){
</p>
<p>
  			//方法一：
</p>
<p>
  			/*
</p>
<p>
  			$(&#8216;dd&gt;div:first&#8217;).hide();	//隐藏
</p>
<p>
  			$(&#8216;dd&gt;div:last&#8217;).show();	//显示
</p>
<p>
  			*/
</p>
<p>
  			//方法二
</p>
<p>
  			var span=$(&#8216;&lt;span&gt;&#8217;).addClass(&#8216;span&#8217;);
</p>
<p>
  			$(&#8216;dd&gt;div:first&#8217;).html(&#8216;密码长度是6~16个字符&#8217;).prepend(span)
</p>
<p>
  		}
</p>
<p>
      });
</p>
<p>
  });
</p>
<p>
  &lt;/script&gt;
</p>
<p>
  &lt;/head&gt;
</p>
<p>
  &lt;body&gt;
</p>
<p>
  &lt;form&gt;
</p>
<p>
  &lt;dl&gt;
</p>
<p>
  	&lt;dt&gt;密码：&lt;/dt&gt;
</p>
<p>
      &lt;dd&gt;
</p>
<p>
      	&lt;input type=&#8221;password&#8221; id=&#8221;pwd&#8221; class=&#8221;txt&#8221; /&gt;
</p>
<p>
          &lt;div&gt;6~16个字符，区分大小写&lt;/div&gt;
</p>
<p>
          &lt;!&#8211;&lt;div class=&#8221;bg&#8221;&gt;&lt;span&gt;&lt;/span&gt;密码长度是6~16个字符&lt;/div&gt; &#8211;&gt;
</p>
<p>
      &lt;/dd&gt;
</p>
<p>
  &lt;/dl&gt;
</p>
<p>
  &lt;/form&gt;
</p>
<p><img loading="lazy" decoding="async" width="386" height="52" src="/wp-content/uploads/2018/05/word-image-3049.png" class="wp-image-3448" srcset="/wp-content/uploads/2018/05/word-image-3049.png 386w, /wp-content/uploads/2018/05/word-image-3049-300x40.png 300w" sizes="(max-width: 386px) 100vw, 386px" /></p>
<h2>替换DOM元素</h2>
<ol>
<li>
  replaceAll(选择器)
</li>
<li>
  replaceWith(内容)
</li>
</ol>
<p><img loading="lazy" decoding="async" width="683" height="228" src="/wp-content/uploads/2018/05/word-image-3050.png" class="wp-image-3449" srcset="/wp-content/uploads/2018/05/word-image-3050.png 683w, /wp-content/uploads/2018/05/word-image-3050-300x100.png 300w" sizes="(max-width: 683px) 100vw, 683px" /></p>
<p>
  例题
</p>
<p>
  &lt;style type=&#8221;text/css&#8221;&gt;
</p>
<p>
  .light{
</p>
<p>
  	color:#F00;
</p>
<p>
  }
</p>
<p>
  &lt;/style&gt;
</p>
<p>
  &lt;script type=&#8221;text/javascript&#8221; src=&#8221;js/jquery-1.8.3.min.js&#8221;&gt;&lt;/script&gt;
</p>
<p>
  &lt;script type=&#8221;text/javascript&#8221;&gt;
</p>
<p>
  $(document).ready(function(e) {
</p>
<p>
      $(&#8216;#key&#8217;).blur(function(e) {
</p>
<p>
  		if($(this).val()==&#8221;)
</p>
<p>
  			return;
</p>
<p>
  		//清空样式
</p>
<p>
  		$(&#8216;.light&#8217;).each(function(index, element) {
</p>
<p>
              $(this).replaceWith($(this).text());	//通过自己的文本替换自己节点
</p>
<p>
          });
</p>
<p>
  		//添加样式
</p>
<p>
  		var reg=new RegExp($(this).val(),&#8217;g&#8217;);	//实例化正则表达式而
</p>
<p>
          var str=$(&#8216;#content&#8217;).html().replace(reg,'&lt;span class=&#8221;light&#8221;&gt;&#8217;+$(this).val()+'&lt;/span&gt;&#8217;); //内容替换
</p>
<p>
  		$(&#8216;#content&#8217;).html(str);
</p>
<p>
      });
</p>
<p>
  });
</p>
<p>
  &lt;/script&gt;
</p>
<p>
  &lt;/head&gt;
</p>
<p>
  &lt;body&gt;
</p>
<p>
  &lt;input type=&#8221;text&#8221; id=&#8221;key&#8221; /&gt;
</p>
<p>
  &lt;div id=&#8221;content&#8221;&gt;
</p>
<p>
  &lt;h3&gt;月饼机_月饼机价格月饼机老品牌值得信赖&lt;/h3&gt;
</p>
<p>
  杭州旭众新型小型月饼机厂家 出面出馅更加稳定,小型月饼机厂家 一机多用,价格实惠!老品牌小型月饼机厂家 值得信赖.更有服务到家,全国联保.购机无忧!小型月饼机厂家
</p>
<p>
  &lt;/div&gt;
</p>
<p>
  运行结果
</p>
<p><img loading="lazy" decoding="async" width="1078" height="188" src="/wp-content/uploads/2018/05/word-image-3051.png" class="wp-image-3450" srcset="/wp-content/uploads/2018/05/word-image-3051.png 1078w, /wp-content/uploads/2018/05/word-image-3051-300x52.png 300w, /wp-content/uploads/2018/05/word-image-3051-768x134.png 768w, /wp-content/uploads/2018/05/word-image-3051-1024x179.png 1024w" sizes="(max-width: 1078px) 100vw, 1078px" /></p>
<h2>删除DOM元素</h2>
<ol>
<li>
  empty()：清空节点中的内容
</li>
<li>
  remove()：删除节点
</li>
</ol>
<p><img loading="lazy" decoding="async" width="731" height="378" src="/wp-content/uploads/2018/05/word-image-3052.png" class="wp-image-3451" srcset="/wp-content/uploads/2018/05/word-image-3052.png 731w, /wp-content/uploads/2018/05/word-image-3052-300x155.png 300w" sizes="(max-width: 731px) 100vw, 731px" /></p>
<h2>克隆DOM元素</h2>
<ol>
<li>
  clone()：只复制对象节点
</li>
<li>
  clone(true)：复制对象节点及对应的事件
</li>
</ol>
<p><img loading="lazy" decoding="async" width="849" height="285" src="/wp-content/uploads/2018/05/word-image-3053.png" class="wp-image-3452" srcset="/wp-content/uploads/2018/05/word-image-3053.png 849w, /wp-content/uploads/2018/05/word-image-3053-300x101.png 300w, /wp-content/uploads/2018/05/word-image-3053-768x258.png 768w" sizes="(max-width: 849px) 100vw, 849px" /></p>
<h2>获取对象的长度和对象的索引</h2>
<p>
  获取长度的方法
</p>
<ol>
<li>
  length
</li>
<li>
  size()
</li>
</ol>
<p>
  获取元素的索引
</p>
<p>
  index()：索引号从0开始
</p>
<p><img loading="lazy" decoding="async" width="887" height="321" src="/wp-content/uploads/2018/05/word-image-3054.png" class="wp-image-3453" srcset="/wp-content/uploads/2018/05/word-image-3054.png 887w, /wp-content/uploads/2018/05/word-image-3054-300x109.png 300w, /wp-content/uploads/2018/05/word-image-3054-768x278.png 768w" sizes="(max-width: 887px) 100vw, 887px" /></p>
<h2>DOM对象和jQuery对象互换</h2>
<p>
  如果要用jQuery的方法就必须要转成jQuery对象
</p>
<p>
  如果要用JS方法必须转成DOM对象
</p>
<p>
  实现转换：
</p>
<ol>
<li>
  将DOM对象转成JQuery对象：通过$()或jQuery()
</li>
<li>
  将JQuery对象转成DOM对象：通过get()或数组的方式
</li>
</ol>
<p><img loading="lazy" decoding="async" width="1110" height="211" src="/wp-content/uploads/2018/05/word-image-3055.png" class="wp-image-3454" srcset="/wp-content/uploads/2018/05/word-image-3055.png 1110w, /wp-content/uploads/2018/05/word-image-3055-300x57.png 300w, /wp-content/uploads/2018/05/word-image-3055-768x146.png 768w, /wp-content/uploads/2018/05/word-image-3055-1024x195.png 1024w" sizes="(max-width: 1110px) 100vw, 1110px" /></p>
<h2>缓存数据</h2>
<ol>
<li>
  data(name)：获取缓存数据
</li>
<li>
  data(name,value)：缓存数据
</li>
</ol>
<p><img loading="lazy" decoding="async" width="1181" height="499" src="/wp-content/uploads/2018/05/word-image-3056.png" class="wp-image-3455" srcset="/wp-content/uploads/2018/05/word-image-3056.png 1181w, /wp-content/uploads/2018/05/word-image-3056-300x127.png 300w, /wp-content/uploads/2018/05/word-image-3056-768x324.png 768w, /wp-content/uploads/2018/05/word-image-3056-1024x433.png 1024w" sizes="(max-width: 1181px) 100vw, 1181px" /></p>
<h2>几个常用的方法</h2>
<p>
  1、$.merge()
</p>
<p>
  2、$.trim()
</p>
<p><img loading="lazy" decoding="async" width="730" height="114" src="/wp-content/uploads/2018/05/word-image-3057.png" class="wp-image-3456" srcset="/wp-content/uploads/2018/05/word-image-3057.png 730w, /wp-content/uploads/2018/05/word-image-3057-300x47.png 300w" sizes="(max-width: 730px) 100vw, 730px" /></p>
<ol>
<li>
  能够解释dom对象和jQuery对象的区别
</li>
<li>
  能够将dom对象和jQuery对象相互转换
</li>
<li>
  能够将内容插入到元素内部或外部
</li>
<li>
  能够清空元素内容或删除元素本身
</li>
<li>
  能够使用replaceWith()替换元素
</li>
<li>
  能够复制指定元素
</li>
<li>
  能够把内容从外面包裹上新元素
</li>
<li>
  能够使用元素查找或匹配的多个方法
</li>
<li>
  能够使用bind()方法绑定事件
</li>
<li>
  能够熟练使用jQuery的常规事件绑定语法
</li>
<li>
  能够使用事件切换方法hover(),toggle()
</li>
<li>
  能够使用jQuery的基本特效方法 show(),hide(),toggle()
</li>
<li>
  能够使用jQuery的滑动特效方法 slideDown(),slideUp(),slideToggle()
</li>
<li>
  能够使用jQuery的淡入淡出特效方法
</li>
<li>
  能够理解jQuery中插件的作用
</li>
<li>
  能够制作自定义插件
</li>
<li>
  能够使用jQuery实现ajax的get请求
</li>
<li>
  能够使用jQuery实现ajax的post请求
</li>
</ol>
]]></content:encoded>
					
					<wfw:commentRss>/%e5%89%8d%e7%ab%af%e6%8a%80%e6%9c%af/3437.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Jquery（三）事件处理、DOM操作、事件委托</title>
		<link>/%e5%89%8d%e7%ab%af%e6%8a%80%e6%9c%af/3411.html</link>
					<comments>/%e5%89%8d%e7%ab%af%e6%8a%80%e6%9c%af/3411.html#respond</comments>
		
		<dc:creator><![CDATA[Mr.Lee]]></dc:creator>
		<pubDate>Sat, 19 May 2018 09:45:41 +0000</pubDate>
				<category><![CDATA[Jquery]]></category>
		<category><![CDATA[前端技术]]></category>
		<category><![CDATA[前端框架]]></category>
		<category><![CDATA[DOM操作]]></category>
		<category><![CDATA[事件处理]]></category>
		<category><![CDATA[事件委托]]></category>
		<guid isPermaLink="false">/?p=3411</guid>

					<description><![CDATA[jQuery（三） 回顾 查找元素 filter()：过滤元素 （not()） hasClass()：是否具有 [&#8230;]]]></description>
										<content:encoded><![CDATA[<h1> jQuery（三）</h1>
<h2>回顾</h2>
<ol>
<li>
  查找元素</p>
<ol>
<li>
    filter()：过滤元素 （not()）
  </li>
<li>
    hasClass()：是否具有指定类
  </li>
<li>
    is()：是不是
  </li>
<li>
    find()：在子元素中查找
  </li>
<li>
    children()：获取子元素的集合
  </li>
<li>
    next()：下一个元素
  </li>
<li>
    nextAll()：后面所有的元素
  </li>
<li>
    prev()：前面的一个元素
  </li>
<li>
    prevAll()：前面所有的元素
  </li>
<li>
    parent()：父级元素
  </li>
<li>
    parents()：所有的父级元素
  </li>
<li>
    sibling()：同级元素
  </li>
</ol>
</li>
<li>
  DOM操作</p>
<ol>
<li>
    在内部添加元素</p>
<ol>
<li>
      A.append(B)：将B插入到A的内部的后面
    </li>
<li>
      A.appendTo(B)：将A插入到B的内部的后面
    </li>
<li>
      A.prepend(B)：将B插入到A的内部的前面
    </li>
<li>
      A.prependTo(B)：将A插入到B的内部的前面
    </li>
</ol>
</li>
<li>
    在外部添加元素</p>
<ol>
<li>
      A.after(B)：将B插入到A的外部的后面
    </li>
<li>
      A.insertAfter(B)：将A插入到B的外部的后面
    </li>
<li>
      A.before(B)：将B插入到A的外部的前面
    </li>
<li>
      A.insertBefore(B)：将A插入到B的外部的前面
    </li>
</ol>
</li>
<li>
    替换DOM元素</p>
<ol>
<li>
      A.replaceAll(B)：用A替换所有的B
    </li>
<li>
      A.replaceWith(B)：用B替换A
    </li>
</ol>
</li>
<li>
    删除DOM元素</p>
<ol>
<li>
      empty()：清空元素的内容
    </li>
<li>
      remove()：删除元素
    </li>
</ol>
</li>
<li>
    克隆DOM元素</p>
<ol>
<li>
      clone()：复制节点，不复制对应的事件
    </li>
<li>
      clone(true)：复制节点和对应的事件
    </li>
</ol>
</li>
</ol>
</li>
<li>
  一些常用的方法和属性</p>
<ol>
<li>
    size()：获取节点集合的长度
  </li>
<li>
    length：获取节点集合的长度
  </li>
<li>
    index()：获取节点的索引
  </li>
<li>
    data()：缓存或获取缓存数据
  </li>
<li>
    $.trim()：去空格
  </li>
<li>
    $.merge()：合并数组
  </li>
</ol>
</li>
<li>
  DOM和jQuery对象互换</p>
<ol>
<li>
    通过$()和jquery()方法将DOM转成JQuery对象
  </li>
<li>
    通过get()和[]的方法将jQuery的对象转成DOM对象
  </li>
</ol>
</li>
<li>
  链式操作：每个方法执行完毕后返回当前对象，所以我们能够实现链式操作。
</li>
</ol>
<h2>jQuery设置事件处理</h2>
<p>
  1、$().事件类型(事件处理函数)		——设置事件处理
</p>
<p>
  2、$().事件类型()						——处罚事件处理
</p>
<p><img loading="lazy" decoding="async" width="741" height="195" src="/wp-content/uploads/2018/05/word-image-3017.png" class="wp-image-3413" srcset="/wp-content/uploads/2018/05/word-image-3017.png 741w, /wp-content/uploads/2018/05/word-image-3017-300x79.png 300w" sizes="(max-width: 741px) 100vw, 741px" /></p>
<p>
  脚下留心：JQuery事件和DOM事件基本是一一对应，比DOM事件少“on”这个单词。
</p>
<h2>$(document).ready()事件</h2>
<table>
<tr>
<td></td>
<td>
<p>
  DOM方式
</p>
</td>
<td>
<p>
  jQuery方式
</p>
</td>
</tr>
<tr>
<td>
<p>
  执行次数
</p>
</td>
<td>
<p>
  只有最后一个window.onload()起作用
</p>
</td>
<td>
<p>
  $(document).ready()可以无限制的使用
</p>
</td>
</tr>
<tr>
<td>
<p>
  执行时间
</p>
</td>
<td>
<p>
  在全部静态资源（文字，图片，js，样式）在浏览器显示完毕才执行加载事件
</p>
</td>
<td>
<p>
  只要静态资源在内存中形成DOM结构就开始执行，这时候可能内容在浏览器还没有显示。
</p>
</td>
</tr>
</table>
<p>
  很显然：$(document).ready()可以极大的提高web响应速度。
</p>
<p>
  多学一招：$(document).ready()可以简化为
</p>
<p><img loading="lazy" decoding="async" width="699" height="170" src="/wp-content/uploads/2018/05/word-image-3018.png" class="wp-image-3414" srcset="/wp-content/uploads/2018/05/word-image-3018.png 699w, /wp-content/uploads/2018/05/word-image-3018-300x73.png 300w" sizes="(max-width: 699px) 100vw, 699px" /></p>
<h2>DOM操作练习</h2>
<p>
  &lt;script type=&#8221;text/javascript&#8221;&gt;
</p>
<p>
  $(document).ready(function(e) {
</p>
<p>
      $(&#8216;:button&#8217;).click(function(e) {
</p>
<p>
          var i=$(&#8216;:button&#8217;).index($(this));	//找出索引号
</p>
<p>
  		if(i==0){	//全部左移
</p>
<p>
  			$(&#8216;select:first option&#8217;).appendTo($(&#8216;select:last&#8217;));
</p>
<p>
  		}
</p>
<p>
  		else if(i==1){	//选中左移
</p>
<p>
  			$(&#8216;select:first option:checked&#8217;).appendTo($(&#8216;select:last&#8217;));
</p>
<p>
  		}
</p>
<p>
  		else if(i==2){	//全部右移
</p>
<p>
  			$(&#8216;select:last option&#8217;).appendTo($(&#8216;select:first&#8217;));
</p>
</p>
<p>
  		}
</p>
<p>
  		else if(i==3){	//选中右移
</p>
<p>
  			$(&#8216;select:last option:checked&#8217;).appendTo($(&#8216;select:first&#8217;));
</p>
<p>
  		}
</p>
<p>
      });
</p>
<p>
  });
</p>
<p>
  &lt;/script&gt;
</p>
<p>
  &lt;select size=&#8221;10&#8243; multiple=&#8221;multiple&#8221;&gt;
</p>
<p>
  	&lt;option&gt;张三&lt;/option&gt;
</p>
<p>
      &lt;option&gt;李四&lt;/option&gt;
</p>
<p>
      &lt;option&gt;王五&lt;/option&gt;
</p>
<p>
  	&lt;option&gt;赵六&lt;/option&gt;
</p>
<p>
  	&lt;option&gt;Tom&lt;/option&gt;
</p>
<p>
  	&lt;option&gt;Berry&lt;/option&gt;
</p>
<p>
  	&lt;option&gt;Ketty&lt;/option&gt;
</p>
<p>
  	&lt;option&gt;Rose&lt;/option&gt;
</p>
<p>
  &lt;/select&gt;
</p>
<p>
  &lt;/div&gt;
</p>
<p>
  &lt;div&gt;
</p>
<p>
  &lt;input type=&#8221;button&#8221; value=&#8221;  &gt;&gt;  &#8221; title=&#8221;全部左移&#8221;/&gt;&lt;br /&gt;
</p>
<p>
  &lt;input type=&#8221;button&#8221; value=&#8221;  &gt;  &#8221; title=&#8221;左移&#8221;/&gt; &lt;br /&gt;
</p>
<p>
  &lt;input type=&#8221;button&#8221; value=&#8221;  &lt;&lt;  &#8221; title=&#8217;全部右移&#8217;/&gt;&lt;br /&gt;
</p>
<p>
  &lt;input type=&#8221;button&#8221; value=&#8221;  &lt;  &#8221; title=&#8217;右移&#8217;/&gt; &lt;br /&gt;
</p>
<p>
  &lt;/div&gt;
</p>
<p>
  &lt;div&gt;
</p>
<p>
  &lt;select  size=&#8221;10&#8243; multiple=&#8221;multiple&#8221;&gt;&lt;/select&gt;
</p>
<p>
  &lt;/div&gt;
</p>
<p><img loading="lazy" decoding="async" width="425" height="235" src="/wp-content/uploads/2018/05/word-image-3019.png" class="wp-image-3415" srcset="/wp-content/uploads/2018/05/word-image-3019.png 425w, /wp-content/uploads/2018/05/word-image-3019-300x166.png 300w" sizes="(max-width: 425px) 100vw, 425px" /></p>
<h2>绑定事件（bind）</h2>
<p>
  语法：bind(事件,回调函数)
</p>
<p>
  &lt;script type=&#8221;text/javascript&#8221;&gt;
</p>
<p>
  $(function(){
</p>
<p>
  	//1、绑定事件
</p>
<p>
  	/*
</p>
<p>
  	$(&#8216;#username&#8217;).bind(&#8216;mouseover&#8217;,function(){
</p>
<p>
  		if($(this).val()==&#8217;请输入用户名&#8217;)
</p>
<p>
  			$(this).val(&#8221;);
</p>
<p>
  	}).bind(&#8216;mouseout&#8217;,function(){
</p>
<p>
  		if($.trim($(this).val())==&#8221;)
</p>
<p>
  			$(this).val(&#8216;请输入用户名&#8217;);
</p>
<p>
  	})
</p>
<p>
  	*/
</p>
<p>
  	//2、通过json格式一次绑定多个事件
</p>
<p>
  	/*
</p>
<p>
  	var json={
</p>
<p>
  		&#8216;mouseover&#8217;:function(){
</p>
<p>
  			if($(this).val()==&#8217;请输入用户名&#8217;)
</p>
<p>
  				$(this).val(&#8221;);
</p>
<p>
  		},
</p>
<p>
  		&#8216;mouseout&#8217;:function(){
</p>
<p>
  			if($.trim($(this).val())==&#8221;)
</p>
<p>
  				$(this).val(&#8216;请输入用户名&#8217;);
</p>
<p>
  		}
</p>
<p>
  	};
</p>
<p>
  	$(&#8216;#username&#8217;).bind(json);
</p>
<p>
  	*/
</p>
<p>
  	//3、不同的事件，同一个事件处理
</p>
<p>
  	$(&#8216;#username&#8217;).bind(&#8216;click mouseover mouseout&#8217;,function(){
</p>
<p>
  		console.log(&#8216;aa&#8217;);
</p>
<p>
  	})
</p>
<p>
  })
</p>
<p>
  &lt;/script&gt;
</p>
<p>
  &lt;input type=&#8221;text&#8221; id=&#8221;username&#8221; value=&#8221;请输入用户名&#8221; /&gt;
</p>
<h2>反绑定事件（unbind）</h2>
<p>
  如果一个元素不需要执行某个事件了，只需要反绑定即可。
</p>
<p>
  1、对象.unbind(事件)：反绑定某个事件
</p>
<p>
  2、对象.unbind()：反绑定所有事件
</p>
<p>
  &lt;style type=&#8221;text/css&#8221;&gt;
</p>
<p>
  #btn{
</p>
<p>
  	width:100px;
</p>
<p>
  	height:50px;
</p>
<p>
  	cursor:pointer;
</p>
<p>
  	background-color:#F90;
</p>
<p>
  	color:#F00;
</p>
<p>
  }
</p>
<p>
  &lt;/style&gt;
</p>
<p>
  &lt;script type=&#8221;text/javascript&#8221; src=&#8221;js/jquery-1.8.3.min.js&#8221;&gt;&lt;/script&gt;
</p>
<p>
  &lt;script type=&#8221;text/javascript&#8221;&gt;
</p>
<p>
  $(document).ready(function(e) {
</p>
<p>
  	var flag=false;		//开关
</p>
<p>
      $(&#8216;#btn&#8217;).click(function(e) {
</p>
<p>
  		if(!flag){
</p>
<p>
  			var t=5;
</p>
<p>
  			$(this).text(t);
</p>
<p>
  			var id=window.setInterval(function(){
</p>
<p>
  				$(&#8216;#btn&#8217;).text(&#8211;t);
</p>
<p>
  				if(t==0){
</p>
<p>
  					clearInterval(id);	//关闭时钟
</p>
<p>
  					//$(&#8216;#btn&#8217;).unbind(&#8216;click&#8217;);	//反绑定click事件
</p>
<p>
  					$(&#8216;#btn&#8217;).unbind();			//反绑定所有事件
</p>
<p>
  				}
</p>
<p>
  			},1000);
</p>
<p>
  			flag=true;
</p>
<p>
  		}
</p>
<p>
  		console.log(&#8216;抢红包&#8217;);
</p>
<p>
      });
</p>
<p>
  });
</p>
<p>
  &lt;/script&gt;
</p>
<p>
  &lt;div id=&#8221;btn&#8221;&gt;5秒之后关闭抢红包&lt;/div&gt;
</p>
<p><img loading="lazy" decoding="async" width="434" height="107" src="/wp-content/uploads/2018/05/word-image-3020.png" class="wp-image-3416" srcset="/wp-content/uploads/2018/05/word-image-3020.png 434w, /wp-content/uploads/2018/05/word-image-3020-300x74.png 300w" sizes="(max-width: 434px) 100vw, 434px" /></p>
<h2>一次性绑定（one）</h2>
<p><img loading="lazy" decoding="async" width="726" height="155" src="/wp-content/uploads/2018/05/word-image-3021.png" class="wp-image-3417" srcset="/wp-content/uploads/2018/05/word-image-3021.png 726w, /wp-content/uploads/2018/05/word-image-3021-300x64.png 300w" sizes="(max-width: 726px) 100vw, 726px" /></p>
<h2>事件委托和取消事件委托</h2>
<p>
  jQuery对象.live()  绑定在祖辈元素上的事件处理函数可以对后代的触发做出响应。
</p>
<p>
  jQuery对象.die() 从元素中删除通过live()绑定的事件
</p>
<p>
  &lt;script type=&#8221;text/javascript&#8221;&gt;
</p>
<p>
  $(document).ready(function(e) {
</p>
<p>
  	$(&#8216;li&#8217;).live(&#8216;click&#8217;,function(e) {	//将click事件绑定到li的祖辈元素中
</p>
<p>
          alert($(this).html());
</p>
<p>
      });
</p>
<p>
  	//添加li
</p>
<p>
      $(&#8216;:button:first&#8217;).click(function(e) {
</p>
<p>
          $(&#8216;&lt;li&gt;重庆&lt;/li&gt;&#8217;).appendTo($(&#8216;ul&#8217;));
</p>
<p>
      });
</p>
<p>
  	//取消live绑定的事件
</p>
<p>
  	$(&#8216;:button:last&#8217;).click(function(e) {
</p>
<p>
          //$(&#8216;li&#8217;).die(&#8216;click&#8217;);	//取消通过live()绑定的click()事件
</p>
<p>
  		$(&#8216;li&#8217;).die();			//取消live绑定的所有事件
</p>
<p>
      });
</p>
<p>
  });
</p>
<p>
  &lt;/script&gt;
</p>
<p>
  &lt;ul&gt;
</p>
<p>
  	&lt;li&gt;北京&lt;/li&gt;
</p>
<p>
      &lt;li&gt;上海&lt;/li&gt;
</p>
<p>
  &lt;/ul&gt;
</p>
<p>
  &lt;input type=&#8221;button&#8221; value=&#8221;添加li&#8221; /&gt;
</p>
<p>
  &lt;input type=&#8221;button&#8221; value=&#8221;取消live绑定的事件&#8221; /&gt;
</p>
<h2>事件对象</h2>
<p>
  事件对象中保存着与事件有关的信息
</p>
<ol>
<li>
  通过事件对象阻止冒泡
</li>
<li>
  通过事件对象阻止浏览器的默认动作
</li>
</ol>
<p><img loading="lazy" decoding="async" width="910" height="398" src="/wp-content/uploads/2018/05/word-image-3022.png" class="wp-image-3418" srcset="/wp-content/uploads/2018/05/word-image-3022.png 910w, /wp-content/uploads/2018/05/word-image-3022-300x131.png 300w, /wp-content/uploads/2018/05/word-image-3022-768x336.png 768w" sizes="(max-width: 910px) 100vw, 910px" /></p>
<h2>hover</h2>
<p>
  语法：hover(over_fun,out_fun)，此方法实现鼠标移到到元素上和离开元素的效果
</p>
<p><img loading="lazy" decoding="async" width="899" height="192" src="/wp-content/uploads/2018/05/word-image-3023.png" class="wp-image-3419" srcset="/wp-content/uploads/2018/05/word-image-3023.png 899w, /wp-content/uploads/2018/05/word-image-3023-300x64.png 300w, /wp-content/uploads/2018/05/word-image-3023-768x164.png 768w" sizes="(max-width: 899px) 100vw, 899px" /></p>
<h2>toggle</h2>
<p><img loading="lazy" decoding="async" width="649" height="323" src="/wp-content/uploads/2018/05/word-image-3024.png" class="wp-image-3420" srcset="/wp-content/uploads/2018/05/word-image-3024.png 649w, /wp-content/uploads/2018/05/word-image-3024-300x149.png 300w" sizes="(max-width: 649px) 100vw, 649px" /></p>
<h2>显示隐藏元素</h2>
<ol>
<li>
  show(speed,[callback])	显示
</li>
<li>
  hide(speed,[callback])	隐藏
</li>
<li>
  toggle(speed,[callback])	交替，如果当前是隐藏的，就显示。如果当前是显示的就隐藏
</li>
</ol>
<p>
  方法的参数有:fast（200毫秒）   normal（400毫秒）    slow（600号码），也可以指定任意毫秒数
</p>
<p>
  &lt;style type=&#8221;text/css&#8221;&gt;
</p>
<p>
  #first{
</p>
<p>
  	width:300px;
</p>
<p>
  	height:200px;
</p>
<p>
  	background-color:#060;
</p>
<p>
  	color:#FFF;
</p>
<p>
  }
</p>
<p>
  &lt;/style&gt;
</p>
<p>
  &lt;script type=&#8221;text/javascript&#8221;&gt;
</p>
<p>
  $(document).ready(function(e) {
</p>
<p>
  	//显示
</p>
<p>
      $(&#8216;:button:eq(0)&#8217;).click(function(e) {
</p>
<p>
          //$(&#8216;#first&#8217;).show();
</p>
<p>
  		$(&#8216;#first&#8217;).show(1000);
</p>
<p>
      });
</p>
<p>
  	//隐藏
</p>
<p>
  	 $(&#8216;:button:eq(1)&#8217;).click(function(e) {
</p>
<p>
          //$(&#8216;#first&#8217;).hide();
</p>
<p>
  		//$(&#8216;#first&#8217;).hide(&#8216;slow&#8217;);
</p>
<p>
  		//$(&#8216;#first&#8217;).hide(2000);
</p>
<p>
  		$(&#8216;#first&#8217;).hide(&#8216;slow&#8217;,function(){
</p>
<p>
  			$(&#8216;:button&#8217;).remove();
</p>
<p>
  		})
</p>
<p>
      });
</p>
<p>
  	//交替
</p>
<p>
  	$(&#8216;:button:eq(2)&#8217;).click(function(e) {
</p>
<p>
          //$(&#8216;#first&#8217;).toggle();
</p>
<p>
  		$(&#8216;#first&#8217;).toggle(600)
</p>
<p>
      });
</p>
<p>
  });
</p>
<p>
  &lt;/script&gt;
</p>
<p>
  &lt;input type=&#8221;button&#8221; value=&#8221;显示&#8221; /&gt;
</p>
<p>
  &lt;input type=&#8221;button&#8221; value=&#8221;隐藏&#8221; /&gt;
</p>
<p>
  &lt;input type=&#8221;button&#8221; value=&#8221;交替&#8221; /&gt;
</p>
<p>
  &lt;div id=&#8221;first&#8221;&gt;
</p>
<p>
      离离原上草，一岁一枯荣。&lt;br /&gt;
</p>
<p>
      野火烧不尽，春风吹又生。&lt;br /&gt;
</p>
<p>
      远芳侵古道，晴翠接荒城。&lt;br /&gt;
</p>
<p>
      又送王孙去，萋萋满别情。&lt;br /&gt;
</p>
<p>
  &lt;/div&gt;
</p>
<h2>向上向下</h2>
<ol>
<li>
  slideUp(speed,[callback])：向上
</li>
<li>
  slideDown(speed,[callback])：向下
</li>
<li>
  slideToggle(speed,[callback])：交替向上向下
</li>
</ol>
<p>
  &lt;script type=&#8221;text/javascript&#8221;&gt;
</p>
<p>
  $(document).ready(function(e) {
</p>
<p>
  	//向上
</p>
<p>
      $(&#8216;:button:eq(0)&#8217;).click(function(e) {
</p>
<p>
          //$(&#8216;#first&#8217;).slideUp();
</p>
<p>
  		$(&#8216;#first&#8217;).slideUp(&#8216;slow&#8217;);
</p>
<p>
      });
</p>
<p>
  	//向下
</p>
<p>
  	 $(&#8216;:button:eq(1)&#8217;).click(function(e) {
</p>
<p>
          //$(&#8216;#first&#8217;).slideDown();
</p>
<p>
  		//$(&#8216;#first&#8217;).slideDown(1000);
</p>
<p>
  		$(&#8216;#first&#8217;).slideDown(1000,function(){
</p>
<p>
  				alert(&#8216;执行完毕&#8217;)
</p>
<p>
  			})
</p>
<p>
      });
</p>
<p>
  	//交替
</p>
<p>
  	$(&#8216;:button:eq(2)&#8217;).click(function(e) {
</p>
<p>
          $(&#8216;#first&#8217;).slideToggle();	//交替向上向下
</p>
<p>
      });
</p>
<p>
  });
</p>
<p>
  &lt;/script&gt;
</p>
<h2>淡入淡出</h2>
<ol>
<li>
  fadeIn(speed,[callback])
</li>
<li>
  fadeOut(speed,[callback])
</li>
<li>
  fadeToggle(speed,[callback])
</li>
<li>
  fadeTo(speed,不透明度[0-1])
</li>
</ol>
<p>
  &lt;script type=&#8221;text/javascript&#8221;&gt;
</p>
<p>
  $(document).ready(function(e) {
</p>
<p>
  	//淡入
</p>
<p>
      $(&#8216;:button:eq(0)&#8217;).click(function(e) {
</p>
<p>
          //$(&#8216;#first&#8217;).fadeIn();	//淡入
</p>
<p>
  		$(&#8216;#first&#8217;).fadeIn(1000);
</p>
<p>
      });
</p>
<p>
  	//淡出
</p>
<p>
  	 $(&#8216;:button:eq(1)&#8217;).click(function(e) {
</p>
<p>
          //$(&#8216;#first&#8217;).fadeOut();	//淡出
</p>
<p>
  		$(&#8216;#first&#8217;).fadeOut(1000);
</p>
<p>
      });
</p>
<p>
  	//交替
</p>
<p>
  	$(&#8216;:button:eq(2)&#8217;).click(function(e) {
</p>
<p>
          $(&#8216;#first&#8217;).fadeToggle(1000);
</p>
<p>
      });
</p>
<p>
  	//淡出到
</p>
<p>
  	$(&#8216;:button:eq(3)&#8217;).click(function(e) {
</p>
<p>
          $(&#8216;#first&#8217;).fadeTo(1000,0.3);	//淡出到0.3
</p>
<p>
      });
</p>
<p>
  });
</p>
<p>
  &lt;/script&gt;
</p>
<h2>动画（animate）</h2>
<p>
  语法:animate(参数,运行时间)
</p>
<p>
  &lt;style type=&#8221;text/css&#8221;&gt;
</p>
<p>
  #first{
</p>
<p>
  	width:100px;
</p>
<p>
  	height:100px;
</p>
<p>
  	background-color:#060;
</p>
<p>
  }
</p>
<p>
  &lt;/style&gt;
</p>
<p>
  &lt;script type=&#8221;text/javascript&#8221; src=&#8221;js/jquery-1.8.3.min.js&#8221;&gt;&lt;/script&gt;
</p>
<p>
  &lt;script src=&#8221;/jquery-ui/ui/jquery.ui.effect.js&#8221;&gt;&lt;/script&gt;
</p>
<p>
  &lt;script type=&#8221;text/javascript&#8221;&gt;
</p>
<p>
  $(document).ready(function(e) {
</p>
<p>
      $(&#8216;#first&#8217;).click(function(e) {
</p>
<p>
          $(this)
</p>
<p>
  		.animate({
</p>
<p>
  			&#8216;width&#8217;:&#8217;50px&#8217;,
</p>
<p>
  			&#8216;height&#8217;:&#8217;50px&#8217;
</p>
<p>
  		},500)
</p>
<p>
  		.animate({
</p>
<p>
  			&#8216;width&#8217;:&#8217;150px&#8217;,
</p>
<p>
  			&#8216;height&#8217;:&#8217;150px&#8217;
</p>
<p>
  		},1000)
</p>
<p>
  		.animate({
</p>
<p>
  			&#8216;margin-left&#8217;:&#8217;300px&#8217;,
</p>
<p>
  			&#8216;background-color&#8217;:&#8217;#FF0000&#8242;
</p>
<p>
  		},1000)
</p>
<p>
  		.animate({
</p>
<p>
  			&#8216;margin-left&#8217;:&#8217;250px&#8217;,
</p>
<p>
  		},50)
</p>
<p>
  		.animate({
</p>
<p>
  			&#8216;margin-left&#8217;:&#8217;300px&#8217;,
</p>
<p>
  		},50)
</p>
<p>
      });
</p>
<p>
  });
</p>
<p>
  &lt;/script&gt;
</p>
<p>
  &lt;div id=&#8221;first&#8221;&gt;&lt;/div&gt;
</p>
<p><img loading="lazy" decoding="async" width="621" height="176" src="/wp-content/uploads/2018/05/word-image-3025.png" class="wp-image-3421" srcset="/wp-content/uploads/2018/05/word-image-3025.png 621w, /wp-content/uploads/2018/05/word-image-3025-300x85.png 300w" sizes="(max-width: 621px) 100vw, 621px" /></p>
<h3>动画的例题</h3>
<p>
  &lt;style type=&#8221;text/css&#8221;&gt;
</p>
<p>
  *{
</p>
<p>
  	margin:0px;
</p>
<p>
  	padding:0px;
</p>
<p>
  }
</p>
<p>
  ul{
</p>
<p>
  	list-style-type:none;
</p>
<p>
  	width:702px;
</p>
<p>
  	margin:100px auto;
</p>
<p>
  }
</p>
<p>
  li{
</p>
<p>
  	width:232px;
</p>
<p>
  	height:139px;
</p>
<p>
  	float:left;
</p>
<p>
  	border:#000 solid 1px;
</p>
<p>
  	overflow:hidden;
</p>
<p>
  	cursor:pointer;
</p>
<p>
  }
</p>
<p>
  li span{
</p>
<p>
  	width:100%;
</p>
<p>
  	height:30px;
</p>
<p>
  	display:inline-block;
</p>
<p>
  	background-color:rgba(0,0,0,0.3);
</p>
<p>
  	position:relative;
</p>
<p>
  }
</p>
<p>
  &lt;/style&gt;
</p>
<p>
  &lt;script type=&#8221;text/javascript&#8221; src=&#8221;js/jquery-1.8.3.min.js&#8221;&gt;&lt;/script&gt;
</p>
<p>
  &lt;script type=&#8221;text/javascript&#8221;&gt;
</p>
<p>
  $(document).ready(function(e) {
</p>
<p>
      $(&#8216;li&#8217;).hover(function(){
</p>
<p>
  		$(this).find(&#8216;span&#8217;).animate({&#8216;top&#8217;:&#8217;-30px&#8217;},500)
</p>
<p>
  	},function(){
</p>
<p>
  		$(this).find(&#8216;span&#8217;).animate({&#8216;top&#8217;:&#8217;0px&#8217;},500)
</p>
<p>
  	})
</p>
<p>
  });
</p>
<p>
  &lt;/script&gt;
</p>
<p>
  &lt;/head&gt;
</p>
<p>
  &lt;body&gt;
</p>
<p>
  &lt;ul&gt;
</p>
<p>
    &lt;li&gt;&lt;img src=&#8221;images/01.jpg&#8221; width=&#8221;232&#8243; height=&#8221;139&#8243; /&gt;&lt;span&gt;我可以认识你吗&lt;/span&gt;&lt;/li&gt;
</p>
<p>
    &lt;li&gt;&lt;img src=&#8221;images/02.jpg&#8221; width=&#8221;232&#8243; height=&#8221;139&#8243; /&gt;&lt;span&gt;其实我注意你好久了&lt;/span&gt;&lt;/li&gt;
</p>
<p>
    &lt;li&gt;&lt;img src=&#8221;images/03.jpg&#8221; width=&#8221;232&#8243; height=&#8221;139&#8243; /&gt;&lt;span&gt;我喜欢你微笑的样子&lt;/span&gt;&lt;/li&gt;
</p>
<p>
    &lt;li&gt;&lt;img src=&#8221;images/04.jpg&#8221; width=&#8221;232&#8243; height=&#8221;139&#8243; /&gt;&lt;/li&gt;
</p>
<p>
    &lt;li&gt;&lt;img src=&#8221;images/05.jpg&#8221; width=&#8221;232&#8243; height=&#8221;139&#8243; /&gt;&lt;/li&gt;
</p>
<p>
  &lt;/ul&gt;
</p>
<p>
  &lt;/body&gt;
</p>
<p><img loading="lazy" decoding="async" width="862" height="188" src="/wp-content/uploads/2018/05/word-image-3026.png" class="wp-image-3422" srcset="/wp-content/uploads/2018/05/word-image-3026.png 862w, /wp-content/uploads/2018/05/word-image-3026-300x65.png 300w, /wp-content/uploads/2018/05/word-image-3026-768x167.png 768w" sizes="(max-width: 862px) 100vw, 862px" /></p>
<h2>jQuery中的ajax</h2>
<table>
<tr>
<td>
<p>
  getScript()，getJSON()
</p>
</td>
</tr>
<tr>
<td>
<p>
  $.get()，$.post()，$.load()
</p>
</td>
</tr>
<tr>
<td>
<p>
  $.ajax()
</p>
</td>
</tr>
</table>
<p>
  jQuery对ajax进行了封装
</p>
<h3>$.ajax()</h3>
<p>
  $.ajax()参数选项
</p>
<table>
<tr>
<td>
<p>
  url
</p>
</td>
<td>
<p>
  请求的地址
</p>
</td>
</tr>
<tr>
<td>
<p>
  type
</p>
</td>
<td>
<p>
  请求的方式  get|post
</p>
</td>
</tr>
<tr>
<td>
<p>
  data
</p>
</td>
<td>
<p>
  请求的数据
</p>
</td>
</tr>
<tr>
<td>
<p>
  dataType
</p>
</td>
<td>
<p>
  返回的数据类型：
</p>
<p>
  xml，html，script，json，jsonp，默认是text
</p>
</td>
</tr>
<tr>
<td>
<p>
  success
</p>
</td>
<td>
<p>
  function：当ajax执行成功后调用的函数
</p>
</td>
</tr>
<tr>
<td>
<p>
  error
</p>
</td>
<td>
<p>
  funtion：当ajax执行失败后调用的函数
</p>
</td>
</tr>
</table>
<p>
  例题
</p>
<p>
  HTML页面
</p>
<p>
  &lt;script type=&#8221;text/javascript&#8221;&gt;
</p>
<p>
  $(document).ready(function(e) {
</p>
<p>
      $(&#8216;#username&#8217;).blur(function(e) {
</p>
<p>
          $.ajax({
</p>
<p>
  			&#8216;url&#8217;:&#8217;./15-demo.php&#8217;,
</p>
<p>
  			&#8216;type&#8217;:&#8217;get&#8217;,
</p>
<p>
  			&#8216;data&#8217;:&#8217;username=&#8217;+encodeURIComponent($(&#8216;#username&#8217;).val()),
</p>
<p>
  			&#8216;dataType&#8217;:&#8217;text&#8217;,
</p>
<p>
  			&#8216;success&#8217;:function(data){	//成功后执行
</p>
<p>
  				alert(data)
</p>
<p>
  			},
</p>
<p>
  			&#8216;error&#8217;:function(){			//失败后执行
</p>
<p>
  				alert(&#8216;请求失败&#8217;);
</p>
<p>
  			}
</p>
<p>
  		})
</p>
<p>
      });
</p>
<p>
  });
</p>
<p>
  &lt;/script&gt;
</p>
<p>
  &lt;input type=&#8221;text&#8221; id=&#8221;username&#8221; /&gt;
</p>
<p>
  PHP页面
</p>
<p>
  &lt;?php
</p>
<p>
  echo $_GET[&#8216;username&#8217;];
</p>
<p>
  运行结果
</p>
<p><img loading="lazy" decoding="async" width="806" height="69" src="/wp-content/uploads/2018/05/word-image-3027.png" class="wp-image-3423" srcset="/wp-content/uploads/2018/05/word-image-3027.png 806w, /wp-content/uploads/2018/05/word-image-3027-300x26.png 300w, /wp-content/uploads/2018/05/word-image-3027-768x66.png 768w" sizes="(max-width: 806px) 100vw, 806px" /></p>
<h3>$.get()和$.post()</h3>
<p><img loading="lazy" decoding="async" width="838" height="340" src="/wp-content/uploads/2018/05/word-image-3028.png" class="wp-image-3424" srcset="/wp-content/uploads/2018/05/word-image-3028.png 838w, /wp-content/uploads/2018/05/word-image-3028-300x122.png 300w, /wp-content/uploads/2018/05/word-image-3028-768x312.png 768w" sizes="(max-width: 838px) 100vw, 838px" /></p>
<h3>load()</h3>
<p>
  可以实现局部刷新
</p>
<p>
  17-demo1.php
</p>
<p>
  &lt;div id=&#8221;stu&#8221;&gt;
</p>
<p>
  &lt;/div&gt;
</p>
<p>
  &lt;script type=&#8221;text/javascript&#8221;&gt;
</p>
<p>
  $(document).ready(function(e) {
</p>
<p>
      $(&#8216;.pageno&#8217;).click(function(e) {
</p>
<p>
  		var pageno=$(this).text();
</p>
<p>
          //$(&#8216;#stu&#8217;).load(&#8217;17-demo2.php&#8217;,{&#8216;pageno&#8217;:pageno});		//post传递
</p>
<p>
  		//$(&#8216;#stu&#8217;).load(&#8217;17-demo2.php?pageno=&#8217;+pageno);			//get传递
</p>
<p>
  		$(&#8216;#stu&#8217;).load(&#8217;17-demo2.php?pageno=&#8217;+pageno,&#8221;,function(){
</p>
<p>
  			alert(&#8216;加载完毕&#8217;);
</p>
<p>
  		})
</p>
<p>
      });
</p>
<p>
  });
</p>
<p>
  &lt;/script&gt;
</p>
<p>
  &lt;?php
</p>
<p>
  	mysql_connect(&#8216;localhost&#8217;,&#8217;root&#8217;,&#8217;root&#8217;);
</p>
<p>
  	mysql_query(&#8216;use `data`&#8217;);
</p>
<p>
  	mysql_query(&#8216;set names utf8&#8217;);
</p>
<p>
  	$rs=mysql_query(&#8216;select count(*) from stu&#8217;);
</p>
<p>
  	$rows=mysql_fetch_row($rs);
</p>
<p>
  	$pagecount=ceil($rows[0]/2);
</p>
<p>
  	for($i=1;$i&lt;=$pagecount;$i++){
</p>
<p>
  		echo &#8220;&lt;a href=&#8217;javascript:void(0)&#8217; class=&#8217;pageno&#8217;&gt;{$i}&lt;/a&gt;&amp;nbsp;&#8221;;
</p>
<p>
  	}
</p>
<p>
  ?&gt;
</p>
<p>
  17-demo2.php
</p>
<p>
  &lt;?php
</p>
<p>
  mysql_connect(&#8216;localhost&#8217;,&#8217;root&#8217;,&#8217;root&#8217;);
</p>
<p>
  mysql_query(&#8216;use `data`&#8217;);
</p>
<p>
  mysql_query(&#8216;set names utf8&#8217;);
</p>
<p>
  $pageno=$_REQUEST[&#8216;pageno&#8217;];
</p>
<p>
  $startno=($pageno-1)*2;
</p>
<p>
  $sql=&#8221;select * from stu limit $startno,2&#8243;;
</p>
<p>
  $rs=mysql_query($sql);
</p>
<p>
  ?&gt;
</p>
<p>
  &lt;table&gt;
</p>
<p>
  	&lt;tr&gt;
</p>
<p>
      	&lt;th&gt;编号&lt;/th&gt;
</p>
<p>
          &lt;th&gt;姓名&lt;/th&gt;
</p>
<p>
          &lt;th&gt;性别&lt;/th&gt;
</p>
<p>
          &lt;th&gt;年龄&lt;/th&gt;
</p>
<p>
          &lt;th&gt;地址&lt;/th&gt;
</p>
<p>
          &lt;th&gt;语文&lt;/th&gt;
</p>
<p>
          &lt;th&gt;数学&lt;/th&gt;
</p>
<p>
      &lt;/tr&gt;
</p>
<p>
      &lt;?php while($rows=mysql_fetch_assoc($rs)):?&gt;
</p>
<p>
      &lt;tr&gt;
</p>
<p>
      	&lt;td&gt;&lt;?php echo $rows[&#8216;stuNo&#8217;]?&gt;&lt;/td&gt;
</p>
<p>
          &lt;td&gt;&lt;?php echo $rows[&#8216;stuName&#8217;]?&gt;&lt;/td&gt;
</p>
<p>
          &lt;td&gt;&lt;?php echo $rows[&#8216;stuSex&#8217;]?&gt;&lt;/td&gt;
</p>
<p>
          &lt;td&gt;&lt;?php echo $rows[&#8216;stuAge&#8217;]?&gt;&lt;/td&gt;
</p>
<p>
          &lt;td&gt;&lt;?php echo $rows[&#8216;stuAddress&#8217;]?&gt;&lt;/td&gt;
</p>
<p>
          &lt;td&gt;&lt;?php echo $rows[&#8216;ch&#8217;]?&gt;&lt;/td&gt;
</p>
<p>
          &lt;td&gt;&lt;?php echo $rows[&#8216;math&#8217;]?&gt;&lt;/td&gt;
</p>
<p>
      &lt;/tr&gt;
</p>
<p>
      &lt;?php endwhile;?&gt;
</p>
<p>
  &lt;/table&gt;
</p>
<p>
  运行结果
</p>
<p><img loading="lazy" decoding="async" width="387" height="146" src="/wp-content/uploads/2018/05/word-image-3029.png" class="wp-image-3426" srcset="/wp-content/uploads/2018/05/word-image-3029.png 387w, /wp-content/uploads/2018/05/word-image-3029-300x113.png 300w" sizes="(max-width: 387px) 100vw, 387px" /></p>
<h3>$.getScript()</h3>
<p>
  用来加载脚本
</p>
<p>
  写一个js脚本
</p>
<p><img loading="lazy" decoding="async" width="373" height="142" src="/wp-content/uploads/2018/05/word-image-3030.png" class="wp-image-3427" srcset="/wp-content/uploads/2018/05/word-image-3030.png 373w, /wp-content/uploads/2018/05/word-image-3030-300x114.png 300w" sizes="(max-width: 373px) 100vw, 373px" /></p>
<p>
  动态加载js
</p>
<p><img loading="lazy" decoding="async" width="1207" height="193" src="/wp-content/uploads/2018/05/word-image-3031.png" class="wp-image-3428" srcset="/wp-content/uploads/2018/05/word-image-3031.png 1207w, /wp-content/uploads/2018/05/word-image-3031-300x48.png 300w, /wp-content/uploads/2018/05/word-image-3031-768x123.png 768w, /wp-content/uploads/2018/05/word-image-3031-1024x164.png 1024w" sizes="(max-width: 1207px) 100vw, 1207px" /></p>
<h3>$.getJSON()</h3>
<p>
  获取JSON格式的数据
</p>
<ol>
<li>
  新建PHP页面
</li>
</ol>
<p>
  &lt;?php
</p>
<p>
  $stu=array(&#8216;tom&#8217;,&#8217;berry&#8217;,&#8217;ketty&#8217;);
</p>
<p>
  echo json_encode($stu);
</p>
<ol>
<li>
  新建HTML页面
</li>
</ol>
<p><img loading="lazy" decoding="async" width="859" height="342" src="/wp-content/uploads/2018/05/word-image-3032.png" class="wp-image-3429" srcset="/wp-content/uploads/2018/05/word-image-3032.png 859w, /wp-content/uploads/2018/05/word-image-3032-300x119.png 300w, /wp-content/uploads/2018/05/word-image-3032-768x306.png 768w" sizes="(max-width: 859px) 100vw, 859px" /></p>
<h3>$.get()和$.getJSON()可以跨域</h3>
<p>
  注意：$.post()不能跨域
</p>
<ol>
<li>
  在phpmyadmin.com中创建PHP页面
</li>
</ol>
<p><img loading="lazy" decoding="async" width="345" height="66" src="/wp-content/uploads/2018/05/word-image-3033.png" class="wp-image-3430" srcset="/wp-content/uploads/2018/05/word-image-3033.png 345w, /wp-content/uploads/2018/05/word-image-3033-300x57.png 300w" sizes="(max-width: 345px) 100vw, 345px" /></p>
<ol>
<li>
  在<a href="http://www.php.com/">www.php.com</a>中创建HTML页面，跨域请求
</li>
</ol>
<p><img loading="lazy" decoding="async" width="1155" height="364" src="/wp-content/uploads/2018/05/word-image-3034.png" class="wp-image-3431" srcset="/wp-content/uploads/2018/05/word-image-3034.png 1155w, /wp-content/uploads/2018/05/word-image-3034-300x95.png 300w, /wp-content/uploads/2018/05/word-image-3034-768x242.png 768w, /wp-content/uploads/2018/05/word-image-3034-1024x323.png 1024w" sizes="(max-width: 1155px) 100vw, 1155px" /></p>
<h3>服务器返回XML格式</h3>
<ol>
<li>
  将预先准备好的XML拷贝的到站点下
</li>
<li>
  HTML页面代码如下
</li>
</ol>
<p>
  &lt;script type=&#8221;text/javascript&#8221;&gt;
</p>
<p>
  $(document).ready(function(e) {
</p>
<p>
  	var xml;	//保存XML对象
</p>
<p>
  	//加载国家
</p>
<p>
      $.get(&#8216;./location.xml&#8217;,function(data){
</p>
<p>
  		xml=$(data);
</p>
<p>
  		xml.find(&#8216;country&#8217;).each(function(index, element) {
</p>
<p>
              $(&#8216;&lt;option&gt;&#8217;).text($(this).attr(&#8216;name&#8217;)).val($(this).attr(&#8216;id&#8217;)).appendTo($(&#8216;#country&#8217;));
</p>
<p>
          });
</p>
<p>
  	},&#8217;xml&#8217;);
</p>
<p>
  	//加载省
</p>
<p>
  	$(&#8216;#country&#8217;).change(function(e) {
</p>
<p>
  		$(&#8216;#province&#8217;).html(&#8216;&lt;option value=&#8221;&#8221;&gt;&#8212;请选择&#8212;&lt;/option&gt;&#8217;);
</p>
<p>
          var id=$(this).val();
</p>
<p>
  		xml.find(&#8220;[id=&#8221;+id+&#8221;]&#8221;).children().each(function(index, element) {
</p>
<p>
              $(&#8216;&lt;option&gt;&#8217;).text($(this).attr(&#8216;name&#8217;)).val($(this).attr(&#8216;id&#8217;)).appendTo($(&#8216;#province&#8217;));
</p>
<p>
          });
</p>
<p>
      });
</p>
<p>
  	//加载市
</p>
<p>
  	$(&#8216;#province&#8217;).change(function(e) {
</p>
<p>
          $(&#8216;#city&#8217;).html(&#8216;&lt;option value=&#8221;&#8221;&gt;&#8212;请选择&#8212;&lt;/option&gt;&#8217;);
</p>
<p>
  		 var id=$(this).val();
</p>
<p>
  		xml.find(&#8220;[id=&#8221;+id+&#8221;]&#8221;).children().each(function(index, element) {
</p>
<p>
              $(&#8216;&lt;option&gt;&#8217;).text($(this).attr(&#8216;name&#8217;)).val($(this).attr(&#8216;id&#8217;)).appendTo($(&#8216;#city&#8217;));
</p>
<p>
          });
</p>
<p>
      });
</p>
<p>
  });
</p>
<p>
  &lt;/script&gt;
</p>
<p>
  &lt;/head&gt;
</p>
<p>
  &lt;body&gt;
</p>
<p>
  国家：&lt;select id=&#8221;country&#8221;&gt;&lt;option value=&#8221;&#8221;&gt;&#8212;请选择&#8212;&lt;/option&gt;&lt;/select&gt;
</p>
<p>
  省：&lt;select id=&#8221;province&#8221;&gt;&lt;option value=&#8221;&#8221;&gt;&#8212;请选择&#8212;&lt;/option&gt;&lt;/select&gt;
</p>
<p>
  市：&lt;select id=&#8221;city&#8221;&gt;&lt;option value=&#8221;&#8221;&gt;&#8212;请选择&#8212;&lt;/option&gt;&lt;/select&gt;
</p>
<p><img loading="lazy" decoding="async" width="493" height="114" src="/wp-content/uploads/2018/05/word-image-3035.png" class="wp-image-3432" srcset="/wp-content/uploads/2018/05/word-image-3035.png 493w, /wp-content/uploads/2018/05/word-image-3035-300x69.png 300w" sizes="(max-width: 493px) 100vw, 493px" /></p>
<p>
  多学一招：实现省、市、县三级可以将数据保存在数据库，XML，JS数组/JSON。建议不要将数据放在数据库中。可以放在XML和JS中
</p>
<h2>扩展jQuery插件</h2>
<p>
  JQuery中方法有两种，一种是JQuery对象的方法，另一种是jQuery元素的方法。扩展插件就分为这两种方式来定义。
</p>
<p>
  1、扩展JQuery对象的方法
</p>
<p>
  语法：
</p>
<p>
  $.方法名=function(){
</p>
<p>
  }
</p>
<p>
  2、扩展jQuery元素的方法
</p>
<p>
  $.fn.方法名=function(){
</p>
<p>
  }
</p>
<p>
  练习
</p>
<p><img loading="lazy" decoding="async" width="978" height="418" src="/wp-content/uploads/2018/05/word-image-3036.png" class="wp-image-3433" srcset="/wp-content/uploads/2018/05/word-image-3036.png 978w, /wp-content/uploads/2018/05/word-image-3036-300x128.png 300w, /wp-content/uploads/2018/05/word-image-3036-768x328.png 768w" sizes="(max-width: 978px) 100vw, 978px" /></p>
<h2>例题：编辑表格内容</h2>
<p>
  &lt;style type=&#8221;text/css&#8221;&gt;
</p>
<p>
  table,td,th{
</p>
<p>
  	border:#000 solid 1px;
</p>
<p>
  	border-collapse:collapse;
</p>
<p>
  	margin:auto;
</p>
<p>
  	font-size:16px;
</p>
<p>
  	background-color:#F96
</p>
<p>
  }
</p>
<p>
  tr{
</p>
<p>
  	height:25px;
</p>
<p>
  }
</p>
<p>
  th{
</p>
<p>
  	background-color:#09F;
</p>
<p>
  	width:50%;
</p>
<p>
  }
</p>
<p>
  input{
</p>
<p>
  	border:none;
</p>
<p>
  	background-color:transparent;
</p>
<p>
  }
</p>
<p>
  &lt;/style&gt;
</p>
<p>
  &lt;script type=&#8221;text/javascript&#8221; src=&#8221;js/jquery-1.8.3.min.js&#8221;&gt;&lt;/script&gt;
</p>
<p>
  &lt;script type=&#8221;text/javascript&#8221;&gt;
</p>
<p>
  $(document).ready(function(e) {
</p>
<p>
  	//添加文件框
</p>
<p>
      $(&#8216;td&#8217;).click(function(e) {
</p>
<p>
  		var value=$(this).html();	//单元格的数据
</p>
<p>
  		if($(this).find(&#8216;input&#8217;).length==0){
</p>
<p>
  			$(this).html(&#8221;);			//清空td
</p>
<p>
  			$(&#8216;&lt;input&gt;&#8217;).attr(&#8216;type&#8217;,&#8217;text&#8217;).val(value).appendTo($(this)).trigger(&#8216;focus&#8217;).trigger(&#8216;select&#8217;)
</p>
<p>
  		}
</p>
<p>
      });
</p>
<p>
  	//修改值
</p>
<p>
  	$(document).keyup(function(e) {
</p>
<p>
          if(e.keyCode==13){
</p>
<p>
  			var src=$(e.target || e.srcElement);	//获取事件发生时候当前的对象
</p>
<p>
  			if(src.is(&#8216;input&#8217;)){
</p>
<p>
  				var value=src.val();
</p>
<p>
  				src.parent().html(value);	//将值放到td中
</p>
<p>
  			}
</p>
<p>
  		}
</p>
<p>
      });
</p>
<p>
  });
</p>
<p>
  &lt;/script&gt;
</p>
<p>
  &lt;table width=&#8221;400&#8243; cellpadding=&#8221;0&#8243; cellspacing=&#8221;0&#8243;&gt;
</p>
<p>
  &lt;tr&gt;
</p>
<p>
  	&lt;th&gt;学号&lt;/th&gt;
</p>
<p>
      &lt;th&gt;姓名&lt;/th&gt;
</p>
<p>
  &lt;/tr&gt;
</p>
<p>
  &lt;tr&gt;
</p>
<p>
  	&lt;td&gt;001&lt;/td&gt;
</p>
<p>
      &lt;td&gt;张三&lt;/td&gt;
</p>
<p>
  &lt;/tr&gt;
</p>
<p>
  &lt;tr&gt;
</p>
<p>
  	&lt;td&gt;002&lt;/td&gt;
</p>
<p>
      &lt;td&gt;李四&lt;/td&gt;
</p>
<p>
  &lt;/tr&gt;
</p>
<p>
  &lt;tr&gt;
</p>
<p>
  	&lt;td&gt;003&lt;/td&gt;
</p>
<p>
      &lt;td&gt;王五&lt;/td&gt;
</p>
<p>
  &lt;/tr&gt;
</p>
<p>
  &lt;tr&gt;
</p>
<p>
  	&lt;td&gt;004&lt;/td&gt;
</p>
<p>
      &lt;td&gt;赵六&lt;/td&gt;
</p>
<p>
  &lt;/tr&gt;
</p>
<p>
  &lt;/table&gt;
</p>
<p><img loading="lazy" decoding="async" width="549" height="152" src="/wp-content/uploads/2018/05/word-image-3037.png" class="wp-image-3434" srcset="/wp-content/uploads/2018/05/word-image-3037.png 549w, /wp-content/uploads/2018/05/word-image-3037-300x83.png 300w" sizes="(max-width: 549px) 100vw, 549px" /></p>
<h2>例题：导航栏</h2>
<p>
  &lt;style type=&#8221;text/css&#8221;&gt;
</p>
<p>
  *{
</p>
<p>
  	font-size:12px;
</p>
<p>
  	margin:0px;
</p>
<p>
  	padding:0px;
</p>
<p>
  }
</p>
<p>
  #daohang{
</p>
<p>
  	width:300px;
</p>
<p>
  	margin:50px 0px 0px 200px;
</p>
<p>
  }
</p>
<p>
  #daohang ul{
</p>
<p>
  	list-style-type:none;
</p>
<p>
  	width:100px;
</p>
<p>
  }
</p>
<p>
  #daohang .main{
</p>
<p>
  	background:url(images24/title.gif) repeat-x;
</p>
<p>
  }
</p>
<p>
  #daohang .main a{
</p>
<p>
  	text-decoration:none;
</p>
<p>
  }
</p>
<p>
  #daohang .main ul{
</p>
<p>
  	display:none;
</p>
<p>
  	background:#FC9;
</p>
<p>
  }
</p>
<p>
  #daohang .main ul li{
</p>
<p>
  	height:25px;
</p>
<p>
  	line-height:25px;
</p>
<p>
  }
</p>
<p>
  #daohang .main&gt;span{
</p>
<p>
  	display:block;
</p>
<p>
  	height:25px;
</p>
<p>
  	line-height:25px;
</p>
<p>
  	background:url(images24/collapsed.gif) no-repeat 5px center;
</p>
<p>
  	font-size:14px;
</p>
<p>
  	padding-left:20px;
</p>
<p>
  	color:#FFF;
</p>
<p>
  	cursor:pointer;
</p>
<p>
  }
</p>
<p>
  #daohang .main .bg{
</p>
<p>
  	background-image:url(images24/expanded.gif);
</p>
<p>
  }
</p>
<p>
  &lt;/style&gt;
</p>
<p>
  &lt;script type=&#8221;text/javascript&#8221; src=&#8221;js/jquery-1.8.3.min.js&#8221;&gt;&lt;/script&gt;
</p>
<p>
  &lt;script type=&#8221;text/javascript&#8221;&gt;
</p>
<p>
  $(document).ready(function(e) {
</p>
<p>
      $(&#8216;.main&gt;span&#8217;).click(function(e) {
</p>
<p>
          $(this).toggleClass(&#8216;bg&#8217;).next().slideToggle(&#8216;slow&#8217;);
</p>
<p>
      });
</p>
<p>
  });
</p>
<p>
  &lt;/script&gt;
</p>
<p>
  &lt;div id=&#8221;daohang&#8221;&gt;
</p>
<p>
  &lt;ul&gt;
</p>
<p>
  	&lt;li class=&#8221;main&#8221;&gt;
</p>
<p>
  		&lt;span&gt;菜单项1&lt;/span&gt;
</p>
<p>
  		&lt;ul&gt;
</p>
<p>
  			&lt;li&gt;&lt;a href=&#8221;#&#8221;&gt;子菜单项11&lt;/a&gt;&lt;/li&gt;
</p>
<p>
  			&lt;li&gt;&lt;a href=&#8221;#&#8221;&gt;子菜单项12&lt;/a&gt;&lt;/li&gt;
</p>
<p>
  		&lt;/ul&gt;
</p>
<p>
  	&lt;/li&gt;
</p>
<p>
  	&lt;li class=&#8221;main&#8221;&gt;
</p>
<p>
  		&lt;span&gt;菜单项2&lt;/span&gt;
</p>
<p>
  		&lt;ul&gt;
</p>
<p>
  			&lt;li&gt;&lt;a href=&#8221;#&#8221;&gt;子菜单项21&lt;/a&gt;&lt;/li&gt;
</p>
<p>
  			&lt;li&gt;&lt;a href=&#8221;#&#8221;&gt;子菜单项22&lt;/a&gt;&lt;/li&gt;
</p>
<p>
  		&lt;/ul&gt;
</p>
<p>
  	&lt;/li&gt;
</p>
<p>
  	&lt;li class=&#8221;main&#8221;&gt;
</p>
<p>
  		&lt;span&gt;菜单项3&lt;/span&gt;
</p>
<p>
  		&lt;ul&gt;
</p>
<p>
  			&lt;li&gt;&lt;a href=&#8221;#&#8221;&gt;子菜单项31&lt;/a&gt;&lt;/li&gt;
</p>
<p>
  			&lt;li&gt;&lt;a href=&#8221;#&#8221;&gt;子菜单项32&lt;/a&gt;&lt;/li&gt;
</p>
<p>
  		&lt;/ul&gt;
</p>
<p>
  	&lt;/li&gt;
</p>
<p>
  &lt;/ul&gt;
</p>
<p>
  &lt;/div&gt;
</p>
<p><img loading="lazy" decoding="async" width="203" height="150" src="/wp-content/uploads/2018/05/word-image-3038.png" class="wp-image-3435" /></p>
<h2>例题：弹出对话框</h2>
<p>
  &lt;style type=&#8221;text/css&#8221;&gt;
</p>
<p>
  .win{
</p>
<p>
  	width:250px;
</p>
<p>
  	background-color:#D0DEF0;
</p>
<p>
  	padding:2px;
</p>
<p>
  	position:absolute;
</p>
<p>
  	display:none;
</p>
<p>
  }
</p>
<p>
  .win #title{
</p>
<p>
  	padding:4px;
</p>
<p>
  	font-size:16px;
</p>
<p>
  }
</p>
<p>
  .win #title img{
</p>
<p>
  	float:right;
</p>
<p>
  	cursor:pointer;
</p>
<p>
  }
</p>
<p>
  .win #content{
</p>
<p>
  	height:150px;
</p>
<p>
  	background-color:#FFF;
</p>
<p>
  }
</p>
<p>
  &lt;/style&gt;
</p>
<p>
  &lt;/head&gt;
</p>
<p>
  &lt;body&gt;
</p>
<p>
  &lt;script type=&#8221;text/javascript&#8221; src=&#8221;js/jquery-1.8.3.min.js&#8221;&gt;&lt;/script&gt;
</p>
<p>
  &lt;script type=&#8221;text/javascript&#8221;&gt;
</p>
<p>
  //定义窗口
</p>
<p>
  $.win=function(){
</p>
<p>
  	//定位窗口
</p>
<p>
  	var left=parseInt(($(window).width()-$(&#8216;#win&#8217;).width())/2+$(window).scrollLeft());
</p>
<p>
  	var top=parseInt(($(window).height()-$(&#8216;#win&#8217;).height())/2+$(window).scrollTop());
</p>
<p>
  	$(&#8216;#win&#8217;).css({&#8216;left&#8217;:left,&#8217;top&#8217;:top})
</p>
<p>
  	//给关闭按钮添加事件
</p>
<p>
  	$(&#8216;#title&#8217;).children(&#8216;img&#8217;).click(function(e) {
</p>
<p>
          $(&#8216;#win&#8217;).hide();
</p>
<p>
      });
</p>
<p>
  	return $(&#8216;#win&#8217;);
</p>
<p>
  }
</p>
<p>
  $(document).ready(function(e) {
</p>
<p>
      $(&#8216;.buy&#8217;).click(function(e) {
</p>
<p>
  		$.win().show();
</p>
<p>
      });
</p>
<p>
  });
</p>
<p>
  &lt;/script&gt;
</p>
<p>
  &lt;div class=&#8221;win&#8221; id=&#8221;win&#8221;&gt;
</p>
<p>
    &lt;div id=&#8221;title&#8221;&gt;&lt;img src=&#8221;images25/close.gif&#8221; alt=&#8221;关闭&#8221; width=&#8221;15&#8243; height=&#8221;15&#8243; /&gt;购物车&lt;/div&gt;
</p>
<p>
      &lt;div id=&#8221;content&#8221;&gt;
</p>
</p>
<p>
      &lt;/div&gt;
</p>
<p>
  &lt;/div&gt;
</p>
<p>
  &lt;input type=&#8221;button&#8221; value=&#8221;放入购物车&#8221; class=&#8221;buy&#8221; style=&#8221;margin:auto; display:block&#8221; /&gt;
</p>
<p>
  &lt;div style=&#8221;height:1000px; width:2000px;&#8221;&gt;&lt;/div&gt;
</p>
<p>
  &lt;input type=&#8221;button&#8221; value=&#8221;放入购物车&#8221; class=&#8221;buy&#8221; style=&#8221;margin:auto; display:block&#8221; /&gt;
</p>
<p>
  scrollLeft()：水平滚动条距左的位置
</p>
<p>
  scrollTop()：垂直滚动条距上的位置
</p>
<ol>
<li>
  能够使用bind()方法绑定事件
</li>
<li>
  能够熟练使用jQuery的常规事件绑定语法
</li>
<li>
  能够使用事件切换方法hover(),toggle()
</li>
<li>
  能够使用jQuery的基本特效方法 show(),hide(),toggle()
</li>
<li>
  能够使用jQuery的滑动特效方法 slideDown(),slideUp(),slideToggle()
</li>
<li>
  能够使用jQuery的淡入淡出特效方法
</li>
<li>
  能够理解jQuery中插件的作用
</li>
<li>
  能够制作自定义插件
</li>
<li>
  能够使用jQuery实现ajax的get请求
</li>
<li>
  能够使用jQuery实现ajax的post请求
</li>
</ol>
]]></content:encoded>
					
					<wfw:commentRss>/%e5%89%8d%e7%ab%af%e6%8a%80%e6%9c%af/3411.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Bootstrap 响应式、 字符去空格、 布局容器、 栅格化、 移动设备、 组件、 轮播图</title>
		<link>/%e5%89%8d%e7%ab%af%e6%8a%80%e6%9c%af/481.html</link>
					<comments>/%e5%89%8d%e7%ab%af%e6%8a%80%e6%9c%af/481.html#respond</comments>
		
		<dc:creator><![CDATA[Mr.Lee]]></dc:creator>
		<pubDate>Thu, 17 May 2018 14:11:36 +0000</pubDate>
				<category><![CDATA[BootStrap]]></category>
		<category><![CDATA[前端技术]]></category>
		<category><![CDATA[前端框架]]></category>
		<category><![CDATA[Bootstrap]]></category>
		<category><![CDATA[响应式]]></category>
		<category><![CDATA[字符去空格]]></category>
		<category><![CDATA[布局容器]]></category>
		<category><![CDATA[栅格化]]></category>
		<category><![CDATA[移动设备]]></category>
		<category><![CDATA[组件]]></category>
		<category><![CDATA[轮播图]]></category>
		<guid isPermaLink="false">/?p=481</guid>

					<description><![CDATA[Bootstrap 去字符串两边空格 思路：写两个函数，一个函数去除左边的空格，一个函数去除右边的空格。判断第 [&#8230;]]]></description>
										<content:encoded><![CDATA[<h1>Bootstrap</h1>
<h2>去字符串两边空格</h2>
<p>思路：写两个函数，一个函数去除左边的空格，一个函数去除右边的空格。判断第一个字符或最后一个字符是否是空格，如果是就把这个空格之外的字符截取出来。</p>
<p>&lt;script type=&#8221;text/javascript&#8221;&gt;</p>
<p>var str=&#8217; a b &#8216;;</p>
<p>//去左边的空格</p>
<p>function ltrim(str){</p>
<p>while(true){</p>
<p>if(str[0]==&#8217; &#8216;) //如果第0个字符是空格，就从1个开始截取到最后，</p>
<p>str=str.substr(1); //将第0个字符去除</p>
<p>else</p>
<p>break;</p>
<p>}</p>
<p>return str;</p>
<p>}</p>
<p>//去右边的空格</p>
<p>function rtrim(str){</p>
<p>while(true){</p>
<p>var n=str.length; //字符串长度</p>
<p>if(str[n-1]==&#8217; &#8216;)</p>
<p>str=str.substr(0,n-1); //去除最后一个字符</p>
<p>else</p>
<p>break;</p>
<p>}</p>
<p>return str;</p>
<p>}</p>
<p>//调用</p>
<p>str=rtrim(ltrim(str));</p>
<p>alert(&#8216;|&#8217;+str+&#8217;|&#8217;);</p>
<p>&lt;/script&gt;</p>
<p><img loading="lazy" decoding="async" width="145" height="88" class="wp-image-483" src="/wp-content/uploads/2018/05/word-image-440.png" /></p>
<h2>bootstrap 介绍</h2>
<h3>什么是bootstrap</h3>
<p>Bootstrap是Twitter的设计师Mark Otto和Jacob Thornton合作开发的基于html、css、js，用于前端开发的开源工具包，主要用于移动端。</p>
<p>Bootstrap 是最受欢迎的 HTML、CSS 和 JS 框架，用于开发响应式布局、移动设备优先的 WEB 项目。</p>
<h3>为什么使用bootstrap</h3>
<p>它简洁灵活，使得Web开发更加快捷。</p>
<h3>bootstrap框架的作用</h3>
<p>bootstrap内部定义了很多的样式，直接调用即可。</p>
<p>bootstrap中文的帮助：<a href="http://v3.bootcss.com/">http://v3.bootcss.com/</a></p>
<p><img loading="lazy" decoding="async" width="755" height="108" class="wp-image-484" src="/wp-content/uploads/2018/05/word-image-441.png" srcset="/wp-content/uploads/2018/05/word-image-441.png 755w, /wp-content/uploads/2018/05/word-image-441-300x43.png 300w" sizes="(max-width: 755px) 100vw, 755px" /></p>
<h2>下载Bootstrap</h2>
<p>登录bootstrap的官方网站，点击“起步”</p>
<p><img loading="lazy" decoding="async" width="952" height="379" class="wp-image-485" src="/wp-content/uploads/2018/05/word-image-442.png" srcset="/wp-content/uploads/2018/05/word-image-442.png 952w, /wp-content/uploads/2018/05/word-image-442-300x119.png 300w, /wp-content/uploads/2018/05/word-image-442-768x306.png 768w" sizes="(max-width: 952px) 100vw, 952px" /></p>
<p>下载后的压缩包</p>
<p><img loading="lazy" decoding="async" width="168" height="17" class="wp-image-486" src="/wp-content/uploads/2018/05/word-image-443.png" /></p>
<p>解压</p>
<p><img loading="lazy" decoding="async" width="641" height="390" class="wp-image-487" src="/wp-content/uploads/2018/05/word-image-444.png" srcset="/wp-content/uploads/2018/05/word-image-444.png 641w, /wp-content/uploads/2018/05/word-image-444-300x183.png 300w" sizes="(max-width: 641px) 100vw, 641px" /></p>
<p>注意：我们使用的框架文件都选择带有”min”的文件，此文件是压缩过的文件。</p>
<h2>搭建bootstrap开发环境</h2>
<p>Bootstrap开发环境的注意：</p>
<ol>
<li>bootstrap框架必须基于HTML5文件</li>
<li>bootstrap.min.js文件必须基于jQuery框架</li>
</ol>
<p><img loading="lazy" decoding="async" width="691" height="91" class="wp-image-488" src="/wp-content/uploads/2018/05/word-image-445.png" srcset="/wp-content/uploads/2018/05/word-image-445.png 691w, /wp-content/uploads/2018/05/word-image-445-300x40.png 300w" sizes="(max-width: 691px) 100vw, 691px" /></p>
<p>引入文件搭建框架</p>
<p>&lt;!&#8211;引入css文件&#8211;&gt;</p>
<p>&lt;link rel=&#8221;stylesheet&#8221; type=&#8221;text/css&#8221; href=&#8221;bootstrap/css/bootstrap.min.css&#8221;&gt;</p>
<p>&lt;!&#8211;主题文件（可以不用引入）&#8211;&gt;</p>
<p>&lt;link rel=&#8221;stylesheet&#8221; type=&#8221;text/css&#8221; href=&#8221;bootstrap/css/bootstrap-theme.min.css&#8221;&gt;</p>
<p>&lt;!&#8211;由于bootstrap基于JQuery文件，必须先引入jquery&#8211;&gt;</p>
<p>&lt;script src=&#8221;bootstrap/js/jquery-1.11.3.min.js&#8221;&gt;&lt;/script&gt;</p>
<p>&lt;!&#8211;引入bootstrap的js文件&#8211;&gt;</p>
<p>&lt;script src=&#8221;bootstrap/js/bootstrap.min.js&#8221;&gt;&lt;/script&gt;</p>
<p>总结：搭建bootstrap框架至少需要3个文件，css，jQuery，js各一个</p>
<h2>移动设备优先</h2>
<p><img loading="lazy" decoding="async" width="719" height="64" class="wp-image-489" src="/wp-content/uploads/2018/05/word-image-446.png" srcset="/wp-content/uploads/2018/05/word-image-446.png 719w, /wp-content/uploads/2018/05/word-image-446-300x27.png 300w" sizes="(max-width: 719px) 100vw, 719px" /></p>
<h2>布局容器</h2>
<p>.</p>
<p><img loading="lazy" decoding="async" width="546" height="256" class="wp-image-490" src="/wp-content/uploads/2018/05/word-image-447.png" srcset="/wp-content/uploads/2018/05/word-image-447.png 546w, /wp-content/uploads/2018/05/word-image-447-300x141.png 300w" sizes="(max-width: 546px) 100vw, 546px" /></p>
<p>fluid：流</p>
<h2>栅格化（栅格系统）</h2>
<p><img loading="lazy" decoding="async" width="854" height="240" class="wp-image-491" src="/wp-content/uploads/2018/05/word-image-448.png" srcset="/wp-content/uploads/2018/05/word-image-448.png 854w, /wp-content/uploads/2018/05/word-image-448-300x84.png 300w, /wp-content/uploads/2018/05/word-image-448-768x216.png 768w" sizes="(max-width: 854px) 100vw, 854px" /></p>
<ol>
<li>bootstrap提供了响应式的，移动设备优先的流式的栅格化系统，随着viewport(视口的变化)系统会自动的响应</li>
<li>栅格化系统由行（.row）和列（.col-xs/sm/md/lg-n）组合的页面布局</li>
<li>栅格化系统必须在容器中</li>
</ol>
<p>说出如下样式的意义：</p>
<p>.col-md-2：在中等屏幕下，有两个格组成的列</p>
<p>.col-lg-3:在大屏幕下，有3个格组成的列</p>
<p>.col-xs-5：在超小屏幕下，由5个格组成的列</p>
<h3>列偏移</h3>
<p>列偏移只能往右偏移</p>
<p>语法：col-xs/sm/md/lg-offset-n</p>
<p><img loading="lazy" decoding="async" width="1164" height="79" class="wp-image-492" src="/wp-content/uploads/2018/05/word-image-449.png" srcset="/wp-content/uploads/2018/05/word-image-449.png 1164w, /wp-content/uploads/2018/05/word-image-449-300x20.png 300w, /wp-content/uploads/2018/05/word-image-449-768x52.png 768w, /wp-content/uploads/2018/05/word-image-449-1024x69.png 1024w" sizes="(max-width: 1164px) 100vw, 1164px" /></p>
<h3>列排序</h3>
<p>.col-xs/sm/md/lg-pull-n： pull（拉） 往左偏移</p>
<p>.col-xs/sm/md/lg-push-n： push（推） 往右偏移</p>
<p><img loading="lazy" decoding="async" width="1246" height="113" class="wp-image-493" src="/wp-content/uploads/2018/05/word-image-450.png" srcset="/wp-content/uploads/2018/05/word-image-450.png 1246w, /wp-content/uploads/2018/05/word-image-450-300x27.png 300w, /wp-content/uploads/2018/05/word-image-450-768x70.png 768w, /wp-content/uploads/2018/05/word-image-450-1024x93.png 1024w" sizes="(max-width: 1246px) 100vw, 1246px" /></p>
<h2>响应式</h2>
<h3>图片的响应式</h3>
<p>. img-responsive 图片的响应式 responsive 响应</p>
<p>. img-thumbnail 给图片添加圆角边框</p>
<p>. img-rounded：图片圆角显示</p>
<p>. img-circle：图片椭圆显示</p>
<h3>例题（栅格化+响应式）</h3>
<p>&lt;div class=&#8221;container-fluid&#8221;&gt;</p>
<p>&lt;div class=&#8221;row&#8221;&gt;</p>
<p>&lt;!—第一部分&#8211;&gt;</p>
<p>&lt;div class=&#8221;col-md-4 col-sm-6 col-xs-12&#8243;&gt;</p>
<p>&lt;img src=&#8221;images/1.jpg&#8221; class=&#8221;img-responsive img-thumbnail&#8221;&gt;</p>
<p>&lt;h3&gt;bootstrap的栅格化&lt;/h3&gt;</p>
<p>&lt;p&gt;&#8230;&lt;/p&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;!—第二部分&#8211;&gt;</p>
<p>&lt;div class=&#8221;col-md-4 col-sm-6 col-xs-12&#8243;&gt;</p>
<p>&lt;img src=&#8221;images/2.jpg&#8221; class=&#8221;img-responsive img-thumbnail&#8221;&gt;</p>
<p>&lt;h3&gt;bootstrap的栅格化&lt;/h3&gt;</p>
<p>&lt;p&gt;&#8230;&lt;/p&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;!—第三部分&#8211;&gt;</p>
<p>&lt;div class=&#8221;col-md-4 col-sm-6 col-xs-12&#8243;&gt;</p>
<p>&lt;img src=&#8221;images/3.jpg&#8221; class=&#8221;img-responsive img-thumbnail&#8221;&gt;</p>
<p>&lt;h3&gt;bootstrap的栅格化&lt;/h3&gt;</p>
<p>&lt;p&gt;&#8230;&lt;/p&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;/div&gt;</p>
<p>中等显示器一行放三个格 小显示器一行放两个格 超小显示器一行放一个个</p>
<p>运行结果</p>
<p><img loading="lazy" decoding="async" width="1261" height="441" class="wp-image-494" src="/wp-content/uploads/2018/05/word-image-451.png" srcset="/wp-content/uploads/2018/05/word-image-451.png 1261w, /wp-content/uploads/2018/05/word-image-451-300x105.png 300w, /wp-content/uploads/2018/05/word-image-451-768x269.png 768w, /wp-content/uploads/2018/05/word-image-451-1024x358.png 1024w" sizes="(max-width: 1261px) 100vw, 1261px" /></p>
<h2>排版</h2>
<h3>标题</h3>
<p>h1~h6</p>
<p><img loading="lazy" decoding="async" width="549" height="26" class="wp-image-495" src="/wp-content/uploads/2018/05/word-image-452.png" srcset="/wp-content/uploads/2018/05/word-image-452.png 549w, /wp-content/uploads/2018/05/word-image-452-300x14.png 300w" sizes="(max-width: 549px) 100vw, 549px" /></p>
<p>例题</p>
<p><img loading="lazy" decoding="async" width="512" height="215" class="wp-image-496" src="/wp-content/uploads/2018/05/word-image-453.png" srcset="/wp-content/uploads/2018/05/word-image-453.png 512w, /wp-content/uploads/2018/05/word-image-453-300x126.png 300w" sizes="(max-width: 512px) 100vw, 512px" /></p>
<h3>页面主体</h3>
<p>1、&lt;body&gt;</p>
<p>2、&lt;p&gt;</p>
<p><img loading="lazy" decoding="async" width="629" height="105" class="wp-image-497" src="/wp-content/uploads/2018/05/word-image-454.png" srcset="/wp-content/uploads/2018/05/word-image-454.png 629w, /wp-content/uploads/2018/05/word-image-454-300x50.png 300w" sizes="(max-width: 629px) 100vw, 629px" /></p>
<h3>文本标签</h3>
<p>1、&lt;del&gt;</p>
<p>3、&lt;s&gt;</p>
<p>4、&lt;ins&gt;</p>
<p>5、&lt;strong&gt;</p>
<p>6、&lt;u&gt;</p>
<p>7、&lt;em&gt;</p>
<p>8、&lt;small&gt;</p>
<p>9、&lt;big&gt;</p>
<p><img loading="lazy" decoding="async" width="546" height="90" class="wp-image-498" src="/wp-content/uploads/2018/05/word-image-455.png" srcset="/wp-content/uploads/2018/05/word-image-455.png 546w, /wp-content/uploads/2018/05/word-image-455-300x49.png 300w" sizes="(max-width: 546px) 100vw, 546px" /></p>
<h3>对齐</h3>
<p><img loading="lazy" decoding="async" width="728" height="103" class="wp-image-499" src="/wp-content/uploads/2018/05/word-image-456.png" srcset="/wp-content/uploads/2018/05/word-image-456.png 728w, /wp-content/uploads/2018/05/word-image-456-300x42.png 300w" sizes="(max-width: 728px) 100vw, 728px" /></p>
<p>例题</p>
<p><img loading="lazy" decoding="async" width="1186" height="220" class="wp-image-500" src="/wp-content/uploads/2018/05/word-image-457.png" srcset="/wp-content/uploads/2018/05/word-image-457.png 1186w, /wp-content/uploads/2018/05/word-image-457-300x56.png 300w, /wp-content/uploads/2018/05/word-image-457-768x142.png 768w, /wp-content/uploads/2018/05/word-image-457-1024x190.png 1024w" sizes="(max-width: 1186px) 100vw, 1186px" /></p>
<h3>改变大小写</h3>
<p><img loading="lazy" decoding="async" width="678" height="60" class="wp-image-501" src="/wp-content/uploads/2018/05/word-image-458.png" srcset="/wp-content/uploads/2018/05/word-image-458.png 678w, /wp-content/uploads/2018/05/word-image-458-300x27.png 300w" sizes="(max-width: 678px) 100vw, 678px" /></p>
<p>例题</p>
<p><img loading="lazy" decoding="async" width="581" height="87" class="wp-image-502" src="/wp-content/uploads/2018/05/word-image-459.png" srcset="/wp-content/uploads/2018/05/word-image-459.png 581w, /wp-content/uploads/2018/05/word-image-459-300x45.png 300w" sizes="(max-width: 581px) 100vw, 581px" /></p>
<h3>列表</h3>
<p><img loading="lazy" decoding="async" width="759" height="281" class="wp-image-503" src="/wp-content/uploads/2018/05/word-image-460.png" srcset="/wp-content/uploads/2018/05/word-image-460.png 759w, /wp-content/uploads/2018/05/word-image-460-300x111.png 300w" sizes="(max-width: 759px) 100vw, 759px" /></p>
<p>1、class=’list-unstyled’： 移除了默认的列表的样式</p>
<p>2、class=’list-inline’：列表的项行内显示</p>
<p>3、class=’dl-horizontal’：自定义列表横向显示</p>
<h2>表格</h2>
<h3>表格的样式</h3>
<p>.table：表格的基本样式</p>
<p>. table-bordered：给表格添加边框</p>
<p>. table-striped：条纹状表格</p>
<p>. table-hover：当鼠标移到行上背景色变化</p>
<p>. table-condensed：表格变得更加紧凑</p>
<h3>状态类</h3>
<table>
<tbody>
<tr>
<td><strong>.active </strong></td>
<td>鼠标悬停在行或单元格上时所设置的颜色</td>
</tr>
<tr>
<td><strong>.success </strong></td>
<td>标识成功或积极的动作</td>
</tr>
<tr>
<td><strong>.info </strong></td>
<td>标识普通的提示信息或动作</td>
</tr>
<tr>
<td><strong>.warning </strong></td>
<td>标识警告或需要用户注意</td>
</tr>
<tr>
<td><strong>.danger </strong></td>
<td>标识危险或潜在的带来负面影响的动作</td>
</tr>
</tbody>
</table>
<p>例题：</p>
<p><img loading="lazy" decoding="async" width="968" height="302" class="wp-image-504" src="/wp-content/uploads/2018/05/word-image-461.png" srcset="/wp-content/uploads/2018/05/word-image-461.png 968w, /wp-content/uploads/2018/05/word-image-461-300x94.png 300w, /wp-content/uploads/2018/05/word-image-461-768x240.png 768w" sizes="(max-width: 968px) 100vw, 968px" /><br />
<img loading="lazy" decoding="async" width="899" height="321" class="wp-image-505" src="/wp-content/uploads/2018/05/word-image-462.png" srcset="/wp-content/uploads/2018/05/word-image-462.png 899w, /wp-content/uploads/2018/05/word-image-462-300x107.png 300w, /wp-content/uploads/2018/05/word-image-462-768x274.png 768w" sizes="(max-width: 899px) 100vw, 899px" /></p>
<h2>表单</h2>
<p>1、. form-control：表单控件的样式</p>
<p>2、. form-group：表单组</p>
<p>3、. form-inline：表单元素行内显示</p>
<p><img loading="lazy" decoding="async" width="1271" height="228" class="wp-image-506" src="/wp-content/uploads/2018/05/word-image-463.png" srcset="/wp-content/uploads/2018/05/word-image-463.png 1271w, /wp-content/uploads/2018/05/word-image-463-300x54.png 300w, /wp-content/uploads/2018/05/word-image-463-768x138.png 768w, /wp-content/uploads/2018/05/word-image-463-1024x184.png 1024w" sizes="(max-width: 1271px) 100vw, 1271px" /></p>
<p>4、. checkbox-inline：复选框排列在一行</p>
<p>5、.radio-inline：单选按钮排列在一行</p>
<p>6、. disabled：显示禁止使用的样式</p>
<p>7、. input-group：将多个标签作为输入的一个整体</p>
<p>8、.input-group-addon：输入整体的一个插件</p>
<p><img loading="lazy" decoding="async" width="875" height="119" class="wp-image-507" src="/wp-content/uploads/2018/05/word-image-464.png" srcset="/wp-content/uploads/2018/05/word-image-464.png 875w, /wp-content/uploads/2018/05/word-image-464-300x41.png 300w, /wp-content/uploads/2018/05/word-image-464-768x104.png 768w" sizes="(max-width: 875px) 100vw, 875px" /></p>
<p>9、插入组件</p>
<p><img loading="lazy" decoding="async" width="748" height="159" class="wp-image-508" src="/wp-content/uploads/2018/05/word-image-465.png" srcset="/wp-content/uploads/2018/05/word-image-465.png 748w, /wp-content/uploads/2018/05/word-image-465-300x64.png 300w" sizes="(max-width: 748px) 100vw, 748px" /></p>
<p>组件位置</p>
<p><img loading="lazy" decoding="async" width="905" height="630" class="wp-image-509" src="/wp-content/uploads/2018/05/word-image-466.png" srcset="/wp-content/uploads/2018/05/word-image-466.png 905w, /wp-content/uploads/2018/05/word-image-466-300x209.png 300w, /wp-content/uploads/2018/05/word-image-466-768x535.png 768w" sizes="(max-width: 905px) 100vw, 905px" /></p>
<p>例题</p>
<p>&lt;div class=&#8221;container&#8221;&gt;</p>
<p>&lt;form&gt;</p>
<p>&lt;!&#8211;用户名&#8211;&gt;</p>
<p>&lt;div class=&#8221;form-group&#8221;&gt;</p>
<p>用户名:&lt;input type=&#8221;text&#8221; name=&#8221;username&#8221; class=&#8221;form-control&#8221;&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;!&#8211;密码&#8211;&gt;</p>
<p>&lt;div class=&#8221;form-group&#8221;&gt;</p>
<p>密码：&lt;input type=&#8221;password&#8221; class=&#8221;form-control&#8221;&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;!&#8211;复选框&#8211;&gt;</p>
<p>&lt;div class=&#8221;form-group&#8221;&gt;</p>
<p>爱好：</p>
<p>&lt;label class=&#8221;checkbox-inline disabled&#8221;&gt;&lt;input type=&#8221;checkbox&#8221; value=&#8221;读书&#8221; name=&#8217;hobby&#8217; disabled&gt;读书&lt;/label&gt;</p>
<p>&lt;label class=&#8221;checkbox-inline&#8221;&gt;&lt;input type=&#8221;checkbox&#8221; value=&#8221;游泳&#8221; name=&#8217;hobby&#8217;&gt;游泳&lt;/label&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;!&#8211;单选按钮&#8211;&gt;</p>
<p>&lt;div class=&#8221;form-group&#8221;&gt;</p>
<p>性别：</p>
<p>&lt;label class=&#8221;radio-inline&#8221;&gt;&lt;input type=&#8221;radio&#8221; name=&#8221;sex&#8221; value=&#8221;&#8221;&gt;男&lt;/label&gt;</p>
<p>&lt;label class=&#8221;radio-inline&#8221;&gt;&lt;input type=&#8221;radio&#8221; name=&#8221;sex&#8221; value=&#8221;&#8221;&gt;女&lt;/label&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;!&#8211;在文本框前面加样式&#8211;&gt;</p>
<p>&lt;div class=&#8221;form-group&#8221;&gt;</p>
<p>&lt;div class=&#8221;input-group&#8221;&gt;</p>
<p>&lt;span class=&#8221;input-group-addon&#8221;&gt;用户名：&lt;/span&gt;</p>
<p>&lt;input type=&#8221;text&#8221; name=&#8221;user&#8221; class=&#8221;form-control&#8221;&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;!&#8211;在文本框后面添加样式&#8211;&gt;</p>
<p>&lt;div class=&#8221;form-group&#8221;&gt;</p>
<p>&lt;div class=&#8221;input-group&#8221;&gt;</p>
<p>&lt;input type=&#8221;text&#8221; name=&#8221;search&#8221; class=&#8221;form-control&#8221;&gt;</p>
<p>&lt;span class=&#8221;input-group-addon&#8221;&gt;百度一下&lt;/span&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;!&#8211;添加组件&#8211;&gt;</p>
<p>&lt;div class=&#8221;form-group&#8221;&gt;</p>
<p>&lt;div class=&#8221;input-group&#8221;&gt;</p>
<p>&lt;span class=&#8221;input-group-addon&#8221;&gt;</p>
<p>&lt;span class=&#8221;glyphicon glyphicon-user&#8221;&gt;&lt;/span&gt;</p>
<p>&lt;/span&gt;</p>
<p>&lt;input type=&#8221;text&#8221; name=&#8221;u&#8221; class=&#8221;form-control&#8221;&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;/form&gt;</p>
<p>&lt;/div&gt;</p>
<p><img loading="lazy" decoding="async" width="754" height="353" class="wp-image-510" src="/wp-content/uploads/2018/05/word-image-467.png" srcset="/wp-content/uploads/2018/05/word-image-467.png 754w, /wp-content/uploads/2018/05/word-image-467-300x140.png 300w" sizes="(max-width: 754px) 100vw, 754px" /></p>
<h3>响应式表单</h3>
<p>表单的响应式必须结合栅格化</p>
<p><img loading="lazy" decoding="async" width="1206" height="189" class="wp-image-511" src="/wp-content/uploads/2018/05/word-image-468.png" srcset="/wp-content/uploads/2018/05/word-image-468.png 1206w, /wp-content/uploads/2018/05/word-image-468-300x47.png 300w, /wp-content/uploads/2018/05/word-image-468-768x120.png 768w, /wp-content/uploads/2018/05/word-image-468-1024x160.png 1024w" sizes="(max-width: 1206px) 100vw, 1206px" /></p>
<h2>按钮</h2>
<p>为 &lt;a&gt;、&lt;button&gt; 或 &lt;input&gt; 元素添加按钮类，建议使用&lt;button&gt;</p>
<p>.btn是按钮类的基类</p>
<p><img loading="lazy" decoding="async" width="1226" height="137" class="wp-image-512" src="/wp-content/uploads/2018/05/word-image-469.png" srcset="/wp-content/uploads/2018/05/word-image-469.png 1226w, /wp-content/uploads/2018/05/word-image-469-300x34.png 300w, /wp-content/uploads/2018/05/word-image-469-768x86.png 768w, /wp-content/uploads/2018/05/word-image-469-1024x114.png 1024w" sizes="(max-width: 1226px) 100vw, 1226px" /></p>
<h2>辅助类</h2>
<h3>文本颜色和背景色</h3>
<p>text-**：文本颜色</p>
<p>bg-**：背景色</p>
<p><img loading="lazy" decoding="async" width="823" height="188" class="wp-image-513" src="/wp-content/uploads/2018/05/word-image-470.png" srcset="/wp-content/uploads/2018/05/word-image-470.png 823w, /wp-content/uploads/2018/05/word-image-470-300x69.png 300w, /wp-content/uploads/2018/05/word-image-470-768x175.png 768w" sizes="(max-width: 823px) 100vw, 823px" /></p>
<h3>三角符号</h3>
<p><img loading="lazy" decoding="async" width="340" height="29" class="wp-image-514" src="/wp-content/uploads/2018/05/word-image-471.png" srcset="/wp-content/uploads/2018/05/word-image-471.png 340w, /wp-content/uploads/2018/05/word-image-471-300x26.png 300w" sizes="(max-width: 340px) 100vw, 340px" /></p>
<h3>快速浮动</h3>
<p>. pull-left：左浮动</p>
<p>.pull-right：右浮动</p>
<p>. clearfix：清除浮动，这个和我们写的clear:both还不一样，这个作用就是清除子盒子浮动对父盒子的影响。（overflow:hidden）</p>
<p><img loading="lazy" decoding="async" width="727" height="83" class="wp-image-515" src="/wp-content/uploads/2018/05/word-image-472.png" srcset="/wp-content/uploads/2018/05/word-image-472.png 727w, /wp-content/uploads/2018/05/word-image-472-300x34.png 300w" sizes="(max-width: 727px) 100vw, 727px" /></p>
<h2>下拉菜单</h2>
<p><img loading="lazy" decoding="async" width="1056" height="214" class="wp-image-516" src="/wp-content/uploads/2018/05/word-image-473.png" srcset="/wp-content/uploads/2018/05/word-image-473.png 1056w, /wp-content/uploads/2018/05/word-image-473-300x61.png 300w, /wp-content/uploads/2018/05/word-image-473-768x156.png 768w, /wp-content/uploads/2018/05/word-image-473-1024x208.png 1024w" sizes="(max-width: 1056px) 100vw, 1056px" /></p>
<h2>分页</h2>
<p><img loading="lazy" decoding="async" width="625" height="101" class="wp-image-517" src="/wp-content/uploads/2018/05/word-image-474.png" srcset="/wp-content/uploads/2018/05/word-image-474.png 625w, /wp-content/uploads/2018/05/word-image-474-300x48.png 300w" sizes="(max-width: 625px) 100vw, 625px" /></p>
<h2>标签页（也叫选项卡）</h2>
<ol>
<li>导航要使用&lt;nav&gt;标签</li>
<li>.nav是导航的基础类</li>
</ol>
<p><img loading="lazy" decoding="async" width="613" height="91" class="wp-image-518" src="/wp-content/uploads/2018/05/word-image-475.png" srcset="/wp-content/uploads/2018/05/word-image-475.png 613w, /wp-content/uploads/2018/05/word-image-475-300x45.png 300w" sizes="(max-width: 613px) 100vw, 613px" /><br />
<img loading="lazy" decoding="async" width="697" height="100" class="wp-image-519" src="/wp-content/uploads/2018/05/word-image-476.png" srcset="/wp-content/uploads/2018/05/word-image-476.png 697w, /wp-content/uploads/2018/05/word-image-476-300x43.png 300w" sizes="(max-width: 697px) 100vw, 697px" /><br />
<img loading="lazy" decoding="async" width="730" height="120" class="wp-image-520" src="/wp-content/uploads/2018/05/word-image-477.png" srcset="/wp-content/uploads/2018/05/word-image-477.png 730w, /wp-content/uploads/2018/05/word-image-477-300x49.png 300w" sizes="(max-width: 730px) 100vw, 730px" /></p>
<h2>导航条</h2>
<p>navbar：导航条的基础类</p>
<p>navbar-default：导航的默认样式</p>
<p>navbar-fixed-top：导航固定在页面的顶部</p>
<p>navbar-fixed-bottom：导航固定在页面底部</p>
<p>navbar-inverse：样式翻转</p>
<p>navbar-right：导航菜单右对齐</p>
<p><img loading="lazy" decoding="async" width="1062" height="170" class="wp-image-521" src="/wp-content/uploads/2018/05/word-image-478.png" srcset="/wp-content/uploads/2018/05/word-image-478.png 1062w, /wp-content/uploads/2018/05/word-image-478-300x48.png 300w, /wp-content/uploads/2018/05/word-image-478-768x123.png 768w, /wp-content/uploads/2018/05/word-image-478-1024x164.png 1024w" sizes="(max-width: 1062px) 100vw, 1062px" /></p>
<h2>弹出框效果</h2>
<p><img loading="lazy" decoding="async" width="769" height="120" class="wp-image-522" src="/wp-content/uploads/2018/05/word-image-479.png" srcset="/wp-content/uploads/2018/05/word-image-479.png 769w, /wp-content/uploads/2018/05/word-image-479-300x47.png 300w, /wp-content/uploads/2018/05/word-image-479-768x120.png 768w" sizes="(max-width: 769px) 100vw, 769px" /><br />
<img loading="lazy" decoding="async" width="1079" height="528" class="wp-image-523" src="/wp-content/uploads/2018/05/word-image-480.png" srcset="/wp-content/uploads/2018/05/word-image-480.png 1079w, /wp-content/uploads/2018/05/word-image-480-300x147.png 300w, /wp-content/uploads/2018/05/word-image-480-768x376.png 768w, /wp-content/uploads/2018/05/word-image-480-1024x501.png 1024w" sizes="(max-width: 1079px) 100vw, 1079px" /></p>
<p>拷贝对应的代码即可</p>
<p><img loading="lazy" decoding="async" width="586" height="202" class="wp-image-524" src="/wp-content/uploads/2018/05/word-image-481.png" srcset="/wp-content/uploads/2018/05/word-image-481.png 586w, /wp-content/uploads/2018/05/word-image-481-300x103.png 300w" sizes="(max-width: 586px) 100vw, 586px" /></p>
<p>完整代码</p>
<p>&lt;script type=&#8221;text/javascript&#8221;&gt;</p>
<p>$(function () {</p>
<p>$(&#8216;[data-toggle=&#8221;popover&#8221;]&#8217;).popover();</p>
<p>})</p>
<p>&lt;/script&gt;</p>
<p>&lt;div class=&#8221;container text-center&#8221; style=&#8221;margin:100px&#8221;&gt;</p>
<p>&lt;button type=&#8221;button&#8221; class=&#8221;btn btn-default&#8221; data-toggle=&#8221;popover&#8221; data-placement=&#8221;right&#8221; title=&#8221;锄禾&#8221; data-content=&#8221;锄禾日当午，汗滴禾下土。谁知盘中餐，粒粒皆辛苦。&#8221;&gt;左侧&lt;/button&gt;</p>
<p>&lt;/div&gt;</p>
<p><img loading="lazy" decoding="async" width="363" height="109" class="wp-image-525" src="/wp-content/uploads/2018/05/word-image-482.png" srcset="/wp-content/uploads/2018/05/word-image-482.png 363w, /wp-content/uploads/2018/05/word-image-482-300x90.png 300w" sizes="(max-width: 363px) 100vw, 363px" /></p>
<p>data-placement=&#8221;top|left|right|bottom&#8221;，用来控制弹出框弹出的方向</p>
<h2>图片轮播效果</h2>
<p><img loading="lazy" decoding="async" width="726" height="107" class="wp-image-526" src="/wp-content/uploads/2018/05/word-image-483.png" srcset="/wp-content/uploads/2018/05/word-image-483.png 726w, /wp-content/uploads/2018/05/word-image-483-300x44.png 300w" sizes="(max-width: 726px) 100vw, 726px" /><br />
<img loading="lazy" decoding="async" width="1104" height="351" class="wp-image-527" src="/wp-content/uploads/2018/05/word-image-484.png" srcset="/wp-content/uploads/2018/05/word-image-484.png 1104w, /wp-content/uploads/2018/05/word-image-484-300x95.png 300w, /wp-content/uploads/2018/05/word-image-484-768x244.png 768w, /wp-content/uploads/2018/05/word-image-484-1024x326.png 1024w" sizes="(max-width: 1104px) 100vw, 1104px" /></p>
<p>拷贝代码更改即可</p>
<p><img loading="lazy" decoding="async" width="629" height="452" class="wp-image-528" src="/wp-content/uploads/2018/05/word-image-485.png" srcset="/wp-content/uploads/2018/05/word-image-485.png 629w, /wp-content/uploads/2018/05/word-image-485-300x216.png 300w" sizes="(max-width: 629px) 100vw, 629px" /></p>
<h2>图片展示的页面效果</h2>
<p><img loading="lazy" decoding="async" width="659" height="104" class="wp-image-529" src="/wp-content/uploads/2018/05/word-image-486.png" srcset="/wp-content/uploads/2018/05/word-image-486.png 659w, /wp-content/uploads/2018/05/word-image-486-300x47.png 300w" sizes="(max-width: 659px) 100vw, 659px" /><br />
<img loading="lazy" decoding="async" width="1068" height="516" class="wp-image-530" src="/wp-content/uploads/2018/05/word-image-487.png" srcset="/wp-content/uploads/2018/05/word-image-487.png 1068w, /wp-content/uploads/2018/05/word-image-487-300x145.png 300w, /wp-content/uploads/2018/05/word-image-487-768x371.png 768w, /wp-content/uploads/2018/05/word-image-487-1024x495.png 1024w" sizes="(max-width: 1068px) 100vw, 1068px" /><br />
<img loading="lazy" decoding="async" width="709" height="221" class="wp-image-531" src="/wp-content/uploads/2018/05/word-image-488.png" srcset="/wp-content/uploads/2018/05/word-image-488.png 709w, /wp-content/uploads/2018/05/word-image-488-300x94.png 300w" sizes="(max-width: 709px) 100vw, 709px" /></p>
]]></content:encoded>
					
					<wfw:commentRss>/%e5%89%8d%e7%ab%af%e6%8a%80%e6%9c%af/481.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
