使用jQuery選擇器不僅比使用傳統的getElementById()和getElementsByTagName()函數簡潔得多,而且還能避免某些錯誤。請看下面例子:
<script>
document.getElementById("div").style.color ="red";
</script>
運行上面代碼後,浏覽器就會報錯,原因是網頁中沒有ID為div的元素。
改進後代碼如下:
<script>
if(document.getElementById("div")){ //用了IF語句來判斷是否有ID為div的元素,如果有,執行下面代碼
document.getElementById("div").style.color ="red"
}
</script>
這樣就可以避免游覽器報錯,但如果要操作的元素很多,可能對每個元素都要進行一次判斷,而jquery方面問題上的處理是非常不錯的,即使用JQUERY獲取網頁中不存在的元素也不會報錯。
代碼如下:
<script>
$("#div").css("color","red");
</script>
有了這個預防措施,即使以後因為某種原因刪除網頁上某個以前使用過的元素,也不用擔心這個網頁的JavaScript會報錯。
注意點:
$("div")獲取的永遠是jquery對象,即使網頁上沒有此元素。因此當要用jquery檢查某個元素在網頁上是否存在時。
不能使用以下代碼:
<script>
if($("#div")){
$("#div").css("color",red) //這樣游覽器會報錯
}
</script>
而是應該跟獲取長度來判斷。
代碼如下:
<script>
if($("#div").length >0){
$("#div").css("color",red)
}
</script>
這時候也可以轉化為DOM對象來判斷。
代碼如下:
<body>
<div id="div">ccccccc</div>
<script src="jquery-2.1.4.min.js"></script>
<script>
var $div = $("#div");
var div = $div[0];
if(div){
$div.css("color","red") //此時DIV的顏色就變為red
}
</script>
</body>