在工作中遇到這麼一種情況,頁面部分HTML元素是透過服務端語言根據不同情況控制顯示不同內容的,然而在同一個頁面某些情況在DOM準備好後需要用到Ajax跟服務端通訊,而有些情況不需要,那麼我只想在頁面存在我指定的HTML標記的時候我才觸發Ajax部分,畢竟這樣可以減輕伺服器的負擔,廢話一大堆,轉入正題:
其實解決JQuery判斷元素是否存在的問題,方法很簡單:
if($("#abc").length >0) { ... }
if($("#abc").html() != "") { ... }
如上兩種方式都可以判斷html文檔是否存在我們想要的元素,之前試過用$("#abc") != null / !$("#abc") / $.find("# abc") ..... 結果不行,因為無論元素是否存在都會返回Object的,那我暫時就用上面兩種方法之一解決了問題,具體有沒有更好的辦法,有待發掘……