最近做項目,有這麼個功能用jQuery檢查某個元素在網頁上是否存在,這裡記錄下,也許能幫助正在讀文章的朋友。
用jQuery檢查某個元素在網頁上是否存在時,應該根據獲取元素的長度來判斷,代碼如下:
if($("#tt").length > 0) { //元素存在时执行的代码 }
()和getElementsByTagName()時,如果在網頁中找不到相關元素,那麼瀏覽器就會報錯,影響後續程式碼的執行,所以為了避免瀏覽器報錯,可以對元素進行判斷,例如:
if(document.getElementById("tt")) {//js判断元素是否存在 document.getElementById("tt").style.color = "red"; }
如果要操作的元素很多,就需要大量重複的工作,這往往讓人厭倦。而jQuery的一大優點就是它完善的處理機制,也就是使用jQuery取得網頁中不存在的元素也不會報錯。這是因為$("#tt")取得的永遠是對象,即使網頁上沒有此元素。因此當要用jQuery檢查某個元素在網頁上是否存在時,不能使用以下程式碼:
if($("#tt")) { //永远执行,不管元素是否存在 }
這就是為什麼要根據元素的長度來判斷元素在頁面中是否存在的原因。