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>

 

posted @ 2016-02-20 02:41  Ziksang  阅读(623)  评论(0编辑  收藏  举报