用jQuery檢查某個元素在網頁上是否存在時,應該根據獲取元素的長度來判斷 ...
用jQuery檢查某個元素在網頁上是否存在時,應該根據獲取元素的長度來判斷,代碼如下:
if($("#tt").length > 0) { //元素存在時執行的代碼 }
具體原因如下:
在JavaScript中,我們在使用傳統的getElementById()和getElementsByTagName()時,如果在網頁中找不到相關元素,那麼瀏覽器就會報錯,影響後續代碼的執行,所以為了避免瀏覽器報錯,可以對元素進行判斷,例如:
if(document.getElementById("tt")) {//js判斷元素是否存在 document.getElementById("tt").style.color = "red"; }
如果要操作的元素很多,就需要大量重覆的工作,這往往讓人厭倦。而jQuery的一大優勢就是它完善的處理機制,即使用jQuery獲取網頁中不存在的元素也不會報錯。這是因為$("#tt")獲取的永遠是對象,即使網頁上沒有此元素。因此當要用jQuery檢查某個元素在網頁上是否存在時,不能使用以下代碼:
if($("#tt")) { //永遠執行,不管元素是否存在 }
這就是為什麼要根據元素的長度來判斷元素在頁面中是否存在的原因。