+ -
当前位置:首页 → 问答吧 → Jquery学习笔记(二)

Jquery学习笔记(二)

时间:2009-10-17

来源:互联网

选择器(一)

1、基本选择器

从最开始看到Jquery这样的选择器就让我想起了CSS的选择器,简直是同出一辙啊,CSS的选择器语法个人觉得相当的经典,那么Jquery借鉴CSS也就没有多少疑问了。

还是复习一下CSS的选择器吧

其中h1为选择器,color:red与background:#d00与声明,两者结合也即{}内称为声明块;color与background称为属性;red与#d00称为值。

其中选择器类别可分为以下类别:

标签选择器:p{CSS rules}

id选择器:#ID{CSS rules}

类选择器:.Class{CSS rules}

群组选择器:h1,h2,h3,h4,h5,h6{CSS rules}

后代选择器:div p{CSS rules}

通配选择器:*{CSS rules}

伪类选择器:a:link,a:visited{CSS rules}

另还有不常使用的多类选择器、属性选择器、部分属性选择器、相邻兄弟选择器、子选择器等,详细可参与《CSS权威手册》这本书或者http://www.w3.org/TR/CSS2/selector.html。

相对应,理解Jquery中$("#ID")就不是难事了。
Jquery中基本选择器包括*,class,element,id及这种群组方式selector1,selector2,…

使用这种$的优势在于:一是写法简洁,二是支持CSS1到CSS3选择器
再就是防止document.getElementById("#id")对象不存在,造成浏览器左下角的黄色感叹号,例网页开始存在id为t1的对象,某一天突然移除而js没有做相应的处理这样就会出现js错误;使用Jquery的$你无需考虑这种问题;
当然,还要注意$()选择器返回的是对象数组,因此要判断网页中是否存在某个元素,不能使用

    if($("#t1")){
    //
    }

而要使用

    if($("#t1").length>0){//或者if($("#t1")[0]){
    //
    }

还是看下综合实例

复制代码
  1.     <style type="text/css">
  2.     .normalStyle{
  3.     background:#C3D9FF;
  4.     }
  5.     .alterStyle{
  6.     background:#DDF8CC;
  7.     }
  8.     .h{
  9.     background:#fcc;
  10.     border:solid 1px #d00;
  11.     }
  12.     .button{
  13.     background:#FAFAA0;
  14.     border:solid 1px #996699;
  15.     padding:4px;
  16.     }
  17.     </style>
  18.     <script type="text/javascript" src="jquery-1.3.2.min.js"></script>
  19.     <script type="text/javascript">
  20.     $(function(){
  21.         $("li").addClass("normalStyle");
  22.         $(".alter").addClass("alterStyle");
  23.         $("h1,h2,h3").addClass("h");
  24.         $("#btn").addClass("button");
  25.     });
  26.     </script>
  27.     </head>
  28.     <body>
  29.     <ul>
  30.         <li>选项一</li>
  31.         <li class="alter">选项二</li>
  32.         <li>选项三</li>
  33.         <li class="alter">选项四</li>
  34.     </ul>
  35.     <h1>标题一</h1>
  36.     <h2>标题二</h2>
  37.     <h3>标题三</h3>
  38.     <button id="btn">按钮</button>
    

查看并运行

2、层次选择器

不用说,层次选择器的思想来自CSS;实际上稍微拓展了

$("div span")//选择<div>里所有<span>元素
$("div>span")//选择<div>元素下元素名为<span>的元素
$(’prev+next’)//选择紧接在prev元素后的next元素
$(’prev~siblings‘)//选择prev元素之后的所有sibling元素

例:

复制代码
  1.     $(function(){
  2.     $("ul li").css("color","#f00");
  3.     $("div>span").css("color","#008000");
  4.     $("div+span").css("color","#d00");
  5.     $("div~span").css("background","#ffc");
  6.     });
  7.     </script>
  8.     </head>
  9.     <body>
  10.     <div>
  11.         <span>文字一</span>
  12.     </div>
  13.     <span>文字二</span>
  14.     <span>文字三</span>
  15.     <ul>
  16.         <li>选项一</li>
  17.         <li>选项二</li>
  18.         <li>选择三</li>
  19.     </ul>
    

运行效果
[ 此帖被walkingp在2009-10-17 15:19重新编辑 ]

作者: walkingp   发布时间: 2009-10-17

经典哟,谢谢分享,愿再续写好的代码分享

作者: scshxh   发布时间: 2010-01-25