2009年5月8日 星期五

[引用][jQuery] 檢查某個元素是否存在

來源

在jQuery底下,要檢查某元素是否存在,我ㄧ開始是這樣寫的:

if ($("#myid")) {
//#myid存在的話就來個alert
}

原本一切看似正常,後來卻發現,某個頁面明明沒有#myid,但是底下的alert動作仍然照常執行。

Google一下,在jQuery HowTo's正好有解答。原來使用$()呼叫物件時,jQuery永遠是有求必應地傳回物件給我們。所以上面這個條件式永遠都成立,有寫跟沒寫一樣。

正牌的寫法,是要利用jQuery傳回陣列的特性,用length來檢查陣列長度:

if ($("#myid").length > 0) {
//#myid存在的話就來個alert
}

當然直接用getElementById來寫也是可以的:

if (document.getElementById("myid")) {
//#myid存在的話就來個alert
}

【下列文章您可能也有興趣】

沒有留言: