jquery使用和CSS类似的选择器,jquery必须在获得元素后才能生效。使用jquery选择器不用考虑浏览器的兼容性问题。
一、jquery选择器的优势
1、简洁
Write less,do more!javascript中的getElementById()可以通过$("#id")来代替以选中标签。getElementByTagName()可以通过$("tagName")代替等等。
2、支持CSS1-CSS3的选择器
3、完善的处理机制-可以避免一些错误。
例如:
二、jquery选择器
1、传统javascript的例子
a.为页面中多个<p>对象添加一个onclick事件
b,使用javascript让表格每行变换颜色
2、使用jquery选择器
Jquery选择器分为基本选择器,层次选择器,过滤选择器和表单选择器
a,基本选择器
最简单的选择器,通过id,class以及标签名来获取DOM元素。应注意的是,在网页中相同的id元素应只有一个,而相同的class元素可以有多个。
选择器: .class 根据给定的class匹配一组元素 返回一个class属性的集合 $(".class")
#id 根据给定的Id匹配一个元素 返回一个元素 $("#id")
tag 根据给定的标签名匹配一组元素 返回一组元素 $("tag")
* 选中页面中所有的标签 返回一组元素 $("*")
selector1,selector2... 群组选择器 返回一组元素 $("p,div.myClass")--匹配p标签 和类为myClass的div
b、层次选择器
如果想要匹配元素的后代元素、子元素或者兄弟元素,则应考虑使用层次选择器
选择器:$("ancestor descendant"),匹配ancestor的descendant后代元素, 返回一个集合元素,$("div span")
$("parent > children"), 选择parent的children子元素(最里层的元素), 返回一个集合元素,$("div span")
$("prev + next"), 选取紧接在prev后的next元素,返回一个元素集合,$(".one + div")
-------------------可使用next()方法替代
$("prev~siblings"),选取紧接在prev后面的兄弟元素,返回一个元素集合,$("#two~div")--匹配id为two后的所有div兄弟元素 ------------------可以使用nextAll()方法替代(siblings()选择不论位置的兄弟元素)
c、过滤选择器
按照不同的过滤规则,可分为:基本过滤器,可见性过滤,属性过滤,子元素过滤和表单对象过滤选择器。