选择器

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]){
//
}

还是看下综合实例

<style type="text/css">
.normalStyle{
background:#C3D9FF;
}
.alterStyle{
background:#DDF8CC;
}
.h{
background:#fcc;
border:solid 1px #d00;
}
.button{
background:#FAFAA0;
border:solid 1px #996699;
padding:4px;
}
</style>
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(function(){
    $("li").addClass("normalStyle");
    $(".alter").addClass("alterStyle");
    $("h1,h2,h3").addClass("h");
    $("#btn").addClass("button");
});
</script>
</head>

<body>
<ul>
    <li>选项一</li>
    <li class="alter">选项二</li>
    <li>选项三</li>
    <li class="alter">选项四</li>
</ul>
<h1>标题一</h1>
<h2>标题二</h2>
<h3>标题三</h3>
<button id="btn">按钮</button>

 

2、层次选择器

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

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

例:

$(function(){
$("ul li").css("color","#f00");
$("div>span").css("color","#008000");
$("div+span").css("color","#d00");
$("div~span").css("background","#ffc");
});
</script>
</head>

<body>
<div>
    <span>文字一</span>
</div>
<span>文字二</span>
<span>文字三</span>
<ul>
    <li>选项一</li>
    <li>选项二</li>
    <li>选择三</li>
</ul>

 

阅读更多
个人分类: jQuery
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭