使用jQuery選擇器不僅比使用傳統的getElementById()和getElementsByTagName()函數簡潔得多,而且還能避免某些錯誤。請看下麵例子: 1 <script> 2 document.getElementById("div").style.color ="red"; 3
使用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>