jQuery选择器
jQuery中的选择器完全继承了CSS的风格。利用jQuery选择器,可以非常便捷和快速地找出特定的DOM元素,然后为它们添加相应的行为,而无需担心浏览器是否支持这一选择器。学会使用选择器是学习jQueryr的基础,jQuery的行为规则都必须在获取到元素后才能生效。jQuery选择器的写法与《CSS选择器》的写法十分相似,只不过两者的作用效果不同,CSS选择器找到元素后是添加样式,而jQuery选择器找到元素后是添加行为。需要特别说明的是,jQuery涉及操用CSS样式的部分比单纯的CSS功能更加强大,并且拥有跨浏览器的兼容性。
jQuery选择器的优势
1、简洁的写法
$()函数在很多JavaScript类库中都被作为一个选择器函数来使用,在jQuery中也不例外。其中,$("#ID")用来代替document.getElementById()函数,即通过ID获取元素:$("tagName")用来代替document.getElementByTagName()函数,即通过标签名获取HTML元素;其他选择器的写法2.3
2.支持CSS1到CSS3选择器
jQuery选择器支持CSS1、CSS2的全部和CSS3的部分选择器,同时它也有少量独有的选择器,因此对拥有一定CSS基础的开发人员来说,学习jQuery选择器是件非常容易的事,而对于没有接触CSS技术的开以人员来说,在学习jQuery选择器的同时也可以掌握CSS选择器的基本规则。使用CSS选择器时,开发人员需要考虑主流浏览器是否支持某些选择器。而在jQuery中,开以人员则可以放心地使用jQuery选择器而无需考虑浏览器是否支持这些选择器。
3、完善的处理机制
使用jQuery选择器不仅比使用传统的getElementById()和getElementByTagName()函数简洁得多,而且还能避免某些错误。看下面这个使子,代码如下:
<div>test</div> <script type="text/javascript"> document.getElementById("tt").style.color="red"; </script>
运行上面代码,浏览器不会报错,原因是网页中没有id为“tt”的元素。改进后的码如下:
<div>test</div> <script type="text/javascript"> if(document.getElementById("tt")){ document.getElementById("tt").style.color="red"; } </script>
这样就可以避免浏览报错,但如果要操作的元素很多,可能对每个元素都要进行一次判断,大量重复的工作会使开以人员感到厌倦,而jQuery在这方面问题上的处理是非常不错的,即使用jQeury获取网页中不存在的元素也不会报错,看下面例子,代码如下:
<div>test</div> <script type="text/javascript"> $('#tt').css("color","red"); //这里无需判断$('#tt')是否存在 </script>
有了这个预防措施,即使以后因为某种原因删除网页上某个以前使用过的元素,也不用担心这个网页的javaScrip代码会报错。需要注意的是,$("#tt")获取的永远是对象,即使网页上没有此元素。因此当要用jQuery检查某个元素在网页上是否存在时,不能使用以下代码:
if($("#tt")) { //do something }
而应该根据获取到元素的长度来判断,代码如下:
if($("#tt").length>0) { //do something }
或者转化成DOM对象来判断,代码如下:
if($("#tt")[0]) { //do something }