跟我一起学jQuery——第二集(未完待续..)

《锋利的JQuery》第二版阅读笔记-第二章

跟我一起学jQuery——第二集


    接下来,就要开始正式学习jQuery的各种使用了。但是没有规矩不成方圆,所以我们先引入一个小栗子,规定一下代码风格。

代码风格

  • 1 注释,我们日常不管写什么代码都需要恰当的注释,方便阅读。
  • 2 同一个对象不超过三个动作的可以写成一行,如果动作比较多可以一行写一个。
  • 3 如果对象比较多,动作适量,可以一行写一个对象。
  • 4 如果存在子元素的可以适当缩进。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>导航栏</title>
<script src="../jquery-1.7.2/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
  $(function(){
     
     
    $(".level1>a").click(function(){
     
     //点击后 >选择器是匹配指定元素的第一个一级子元素(衬衫) 
    //$(this).addClass("current").next().show().parent().siblings().children("a").removeClass("current").next().hide();
	   $(this).addClass("current")//为当前元素添加class(<a href="#none" class="current">衬衫</a>)
	   .next().show()//next 当前元素的下一个兄弟元素(level2),show 展示当前元素(level2)
    .parent().siblings()//父元素(level1及其内的内容)的同级元素(卫衣、裤子)
	   .children("a").removeClass("current")//的子元素,如果存在class为current的移除
	   .next().hide();//它们的下一个元素隐藏
	   return false;
	});
  });
</script>
</head>
<body>

<div class="box">
	<ul class="menu">
		<li class="level1">
			<a href="#none">衬衫</a>
			<ul class="level2">
				<li><a href="#none">短袖衬衫</a></li>
				<li><a href="#none">长袖衬衫</a></li>
				<li><a href="#none">短袖T恤</a></li>
				<li><a href="#none">长袖T恤</a></li>
			</ul>
			<a href="#none">卫衣</a>
		</li>
		<li class="level1">
			<a href="#none">卫衣</a>
			<ul class="level2">
				<li><a href="#none">开襟卫衣</a></li>
				<li><a href="#none">套头卫衣</a></li>
				<li><a href="#none">运动卫衣</a></li>

				<li><a href="#none">童装卫衣</a></li>
			</ul>
		</li>
		<li class="level1">
			<a href="#none">裤子</a>
			<ul class="level2">
				<li><a href="#none">短裤</a></li>
				<li><a href="#none">休闲裤</a></li>
				<li><a href="#none">牛仔裤</a></li>
				<li><a href="#none">免烫卡其裤</a></li>
			</ul>
		</li>
	</ul>
</div>
</body>
</html>

    代码风格了解完,那就让我们正式推开jQuery的大门吧。

jQuery选择器

    首先我们要学习的是jQuery选择器。这个选择器的调用方法与css存在着许多相通之处。(表格来自《锋利的jQuery》23页

在这里插入图片描述
    下面我举一个jQuery选择器的简单栗子为<p class="demo">jquery</p>加一个点击事件,点击jquery时,弹框“jquery 选择器!”。

    你是不是会想,哇,这贼简单。就是一句 $(".demo").click(function(){alert("jquery 选择器!");});
    我本来也是这么想的。结果一直不弹框,你猜问题出在了哪里呢?
    是代码执行顺序出了问题,详情请看下方:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<script src="../jquery-1.7.2/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
//html页面除$(function(){});或者是window.οnlοad=function(){}外均是按自上而下的顺序执行
//$(function(){});等是页面加载完毕才执行
  alert("1");//第一步执行
  $(function(){
     
     
    $(".demo").click(function(){
     
     
    alert("jquery 选择器2");//第三步执行
  });
  });
</script>
</head>
<body>
	<p class="demo">jquery</p>
	<script type="text/javascript">
      $(".demo").click(function(){
     
     //第二步执行
        alert("jquery 选择器3");
      });
    </script>
</body>
</html>

    额外提两点需要注意的:写jQuery代码时,注意不要将JavaScript代码与HTML混杂在一起,那样会比较难修改(错误示范:<p onclick="demo;"> 点击</p>)。
    jquery选择器自带判空功能,调用时不用考虑元素是否存在,且获取到的是个对象。如果需要判断元素是否为空,注意判断方法

猜你喜欢

转载自blog.csdn.net/moqianmoqian/article/details/110181456
今日推荐