jquery完善的处理机制
使用jQuery选择器不仅比使用传统的getElementById()和getElementsByTagName()函数简洁得多,而且还能避免某些错误。请看下面例子:
1 <script> 2 document.getElementById("div").style.color ="red"; 3 </script>
运行上面代码后,浏览器就会报错,原因是网页中没有ID为div的元素。
改进后代码如下:
1 <script> 2 if(document.getElementById("div")){ //用了IF语句来判断是否有ID为div的元素,如果有,执行下面代码 3 document.getElementById("div").style.color ="red" 4 } 5 </script>
这样就可以避免游览器报错,但如果要操作的元素很多,可能对每个元素都要进行一次判断,而jquery方面问题上的处理是非常不错的,即使用JQUERY获取网页中不存在的元素也不会报错。
代码如下:
1 <script> 2 $("#div").css("color","red"); 3 </script>
有了这个预防措施,即使以后因为某种原因删除网页上某个以前使用过的元素,也不用担心这个网页的JavaScript会报错。
注意点:
$("div")获取的永远是jquery对象,即使网页上没有此元素。因此当要用jquery检查某个元素在网页上是否存在时。
不能使用以下代码:
1 <script> 2 if($("#div")){ 3 $("#div").css("color",red) //这样游览器会报错 4 } 5 </script>
而是应该跟获取长度来判断。
代码如下:
<script> if($("#div").length >0){ $("#div").css("color",red) } </script>
这时候也可以转化为DOM对象来判断。
代码如下:
1 <body> 2 <div id="div">ccccccc</div> 3 <script src="jquery-2.1.4.min.js"></script> 4 <script> 5 var $div = $("#div"); 6 var div = $div[0]; 7 if(div){ 8 $div.css("color","red") //此时DIV的颜色就变为red 9 } 10 </script> 11 </body>