jquery完善的处理机制

使用jQuery选择器不只比使用传统的getElementById()和getElementsByTagName()函数简洁得多,并且还能避免某些错误。请看下面例子:css

1 <script>
2    document.getElementById("div").style.color ="red";
3 </script>

运行上面代码后,浏览器就会报错,缘由是网页中没有ID为div的元素。jquery

改进后代码以下:浏览器

1 <script>
2     if(document.getElementById("div")){  //用了IF语句来判断是否有ID为div的元素,若是有,执行下面代码 
3         document.getElementById("div").style.color ="red"
4     }
5 </script>

这样就能够避免游览器报错,但若是要操做的元素不少,可能对每一个元素都要进行一次判断,而jquery方面问题上的处理是很是不错的,即便用JQUERY获取网页中不存在的元素也不会报错。函数

代码以下:spa

1 <script>
2    $("#div").css("color","red");
3 </script>

有了这个预防措施,即便之后由于某种缘由删除网页上某个之前使用过的元素,也不用担忧这个网页的JavaScript会报错。code

注意点:对象

$("div")获取的永远是jquery对象,即便网页上没有此元素。所以当要用jquery检查某个元素在网页上是否存在时。blog

不能使用如下代码:ip

1 <script>
2   if($("#div")){
3       $("#div").css("color",red)  //这样游览器会报错
4   }
5 </script>

而是应该跟获取长度来判断。get

代码以下:

<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>
相关文章
相关标签/搜索