jQuery中有一個非常實用的函數,叫做isExist。它的作用是判斷一個元素是否存在,即是否可以在文檔中找到該元素。
//判斷id為test的元素是否存在 if($('#test').isExist()){ console.log('存在'); } else { console.log('不存在'); }
使用isExist函數可以避免我們在操作不存在的元素時出現錯誤。例如,在綁定事件或修改元素屬性時,如果元素不存在,還繼續操作將導致腳本停止執行。
//綁定click事件 $('#test').on('click', function(){ console.log('click事件'); $(this).hide(); }); //假設頁面中沒有id為test的元素,上述代碼會報錯
但是當我們在綁定事件或修改元素屬性時使用isExist函數判斷元素是否存在,代碼就會更加健壯,避免出現錯誤。
//綁定click事件(健壯版本) if($('#test').isExist()){ $('#test').on('click', function(){ console.log('click事件'); $(this).hide(); }); }
最后,需要說明的是,isExist函數并不是jQuery自帶的,需要我們自己定義。定義方式如下:
$.fn.isExist = function(){ return this.length >0; }
定義后可以在任何jQuery對象上調用isExist函數進行判斷。