jQuery 判斷頁面元素是否存在的代碼
更新時間:2009年08月14日 01:43:55 作者:
在傳統(tǒng)的Javascript里,當(dāng)我們對某個頁面元素進行某種操作前,最好先判斷這個元素是否存在。原因是對一個不存在的元素進行操作是不允許的。
例如:
document.getElementById("someID").innerText("hi");
如果ID為"someID"的元素不存在,我們將得到Javascript運行錯誤:document.getElementById("someID") is null
正確的寫法應(yīng)該是:
obj = document.getElementById("someID");
if (obj){
obj.innerText("hi");
}
那么在jQuery,我們?nèi)绾闻袛囗撁嬖卮嬖谂c否呢?如果參照上面的傳統(tǒng)Javascript的寫法,我們第一個想到的辦法一定是:
if ($("#someID")){
$("#someID").text("hi");
}
可是這么寫是不對的!因為jQuery對象永遠都有返回值,所以$("someID") 總是TRUE ,IF語句沒有起到任何判斷作用。正確的寫法應(yīng)該是:
if ( $("#someID").length > 0 ) {
$("#someID").text("hi");
}
注意 :判斷某個頁面元素存在與否在jQuery實際上是沒有必要的,jQuery本身會忽略 對一個不存在的元素進行操作,并且不會報錯。
$(document).ready(function(){
var value=$('#btn_delXml').length;
if(value>0)
{
alert('Extsts');
}
else
{
alert('not Extsts');
}
})
下面是其它說明雖然類似,但有些文字說明
有的時候,要根據(jù)頁面加載的內(nèi)容不同而作不同的操作,這個時候,判斷頁面上是否存在這個元素(或?qū)ο螅┳兊糜葹橹匾?。如果寫JavaScript來實現(xiàn),較為麻煩,而jQuery卻能很容易的實現(xiàn)這個功能。
我們知道,jQuery選擇器獲取頁面的element時,無論element是否存在,都會返回一個對象。例如:
var my_element = $("#element_Id" )
此時的變量my_element就是一個對象,既然是一個對象,這個對象就具有l(wèi)ength的屬性,因此,用以下代碼可以判斷元素(對象)是否存在:
if(my_element.length>0){
alert("element is exist.");
}else{
alert("element not be found");
}
復(fù)制代碼 代碼如下:
document.getElementById("someID").innerText("hi");
如果ID為"someID"的元素不存在,我們將得到Javascript運行錯誤:document.getElementById("someID") is null
正確的寫法應(yīng)該是:
復(fù)制代碼 代碼如下:
obj = document.getElementById("someID");
if (obj){
obj.innerText("hi");
}
那么在jQuery,我們?nèi)绾闻袛囗撁嬖卮嬖谂c否呢?如果參照上面的傳統(tǒng)Javascript的寫法,我們第一個想到的辦法一定是:
復(fù)制代碼 代碼如下:
if ($("#someID")){
$("#someID").text("hi");
}
可是這么寫是不對的!因為jQuery對象永遠都有返回值,所以$("someID") 總是TRUE ,IF語句沒有起到任何判斷作用。正確的寫法應(yīng)該是:
復(fù)制代碼 代碼如下:
if ( $("#someID").length > 0 ) {
$("#someID").text("hi");
}
注意 :判斷某個頁面元素存在與否在jQuery實際上是沒有必要的,jQuery本身會忽略 對一個不存在的元素進行操作,并且不會報錯。
復(fù)制代碼 代碼如下:
$(document).ready(function(){
var value=$('#btn_delXml').length;
if(value>0)
{
alert('Extsts');
}
else
{
alert('not Extsts');
}
})
下面是其它說明雖然類似,但有些文字說明
有的時候,要根據(jù)頁面加載的內(nèi)容不同而作不同的操作,這個時候,判斷頁面上是否存在這個元素(或?qū)ο螅┳兊糜葹橹匾?。如果寫JavaScript來實現(xiàn),較為麻煩,而jQuery卻能很容易的實現(xiàn)這個功能。
我們知道,jQuery選擇器獲取頁面的element時,無論element是否存在,都會返回一個對象。例如:
var my_element = $("#element_Id" )
此時的變量my_element就是一個對象,既然是一個對象,這個對象就具有l(wèi)ength的屬性,因此,用以下代碼可以判斷元素(對象)是否存在:
復(fù)制代碼 代碼如下:
if(my_element.length>0){
alert("element is exist.");
}else{
alert("element not be found");
}
您可能感興趣的文章:
相關(guān)文章
基于Jquery的標(biāo)簽智能驗證實現(xiàn)代碼
一直在尋找最快捷方便的信息驗證方法,之前自己編過JS版驗證但要寫很多輔助代碼,經(jīng)過許多次改進,還是覺得太麻煩代碼還多,維護起太費盡。2010-12-12jQuery實現(xiàn)仿QQ頭像閃爍效果的文字閃動提示代碼
這篇文章主要介紹了jQuery實現(xiàn)仿QQ頭像閃爍效果的文字閃動提示代碼,涉及jQuery正則表達式及定時函數(shù)的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-11-11jQuery模擬原生態(tài)App上拉刷新下拉加載更多頁面及原理
很多App中,新聞或者展示類都存在下拉刷新和上拉加載的效果,如何實現(xiàn)上拉刷新下拉加載更多頁面的呢?下面小編通過下面內(nèi)容給大家介紹jQuery模擬原生態(tài)App上拉刷新下拉加載更多頁面及原理,需要的朋友可以參考下2015-08-08