abstract:JS原生判斷DOM節(jié)點(diǎn)是否存在頁面中JavaScript原生函數(shù)沒有提供判斷DOM節(jié)點(diǎn)是否存在方法,我們通常獲取DOM節(jié)點(diǎn)幾乎都是document.getElement..方法,會返回一個(gè)object數(shù)組合集,我們可以通過object[0],object[1]這樣來訪問這個(gè)合集的每一個(gè)對象。既然返回的是數(shù)組合集,那么就有l(wèi)ength屬性,而length大于等于1即表示DOM節(jié)點(diǎn)存在頁面中代碼:Ob
JS原生判斷DOM節(jié)點(diǎn)是否存在頁面中
JavaScript原生函數(shù)沒有提供判斷DOM節(jié)點(diǎn)是否存在方法,我們通常獲取DOM節(jié)點(diǎn)幾乎都是document.getElement..方法,會返回一個(gè)object數(shù)組合集,我們可以通過object[0],object[1]這樣來訪問這個(gè)合集的每一個(gè)對象。既然返回的是數(shù)組合集,那么就有l(wèi)ength屬性,而length大于等于1即表示DOM節(jié)點(diǎn)存在頁面中
代碼:
Object.prototype.exist = function(){ if(typeof this !='undefined' && this.length>=1){ return true; } return false; };
使用:
假設(shè)頁面有如下節(jié)點(diǎn)
<div>這里是DIV節(jié)點(diǎn)</div> <div>這里是DIV節(jié)點(diǎn)</div> <span>這里是span節(jié)點(diǎn)</span>
判斷節(jié)點(diǎn)是否在頁面:
var is_exist = document.getElementsByTagName('div').exist(); alert(is_exist); // true var is_exist = document.getElementsByTagName('span').exist(); alert(is_exist); // true var is_exist = document.getElementsByTagName('p').exist(); alert(is_exist); // false
注意:如果使用是使用document.getElementById()方法獲取對象的就不能使用exist()方法,因?yàn)楦鶕?jù)ID取節(jié)點(diǎn)對象的方法在取不到節(jié)點(diǎn)的情況下會返回一個(gè)空對象,不會集成原型exist()函數(shù),所以會報(bào)錯(cuò)!所以如果是根據(jù)ID取對象的可以直接if(obj)這樣既可判斷DOM節(jié)點(diǎn)是否存在頁面中
jQuery判斷DOM節(jié)點(diǎn)是否存在頁面中
可以這么干
添加原型:
(function($) { $.fn.exist = function(){ if($(this).length>=1){ return true; } return false; }; })(jQuery);
使用方法:
假如頁面有如下DOM節(jié)點(diǎn)
<div id="a">這里是id=a節(jié)點(diǎn)</div> <div>這里是DIV節(jié)點(diǎn)</div> <div>這里是DIV節(jié)點(diǎn)</div> <span>這里是span節(jié)點(diǎn)</span>
判斷:
alert($('#aaa').exist()); // false alert($('#a').exist()); // true alert($('div').exist()); // true alert($('p').exist()); // false
以上兩種方法其實(shí)都是根據(jù)對象集合的length屬性判斷對象是否存在。
更多關(guān)于JS/jQuery判斷DOM節(jié)點(diǎn)是否存在的簡單方法請關(guān)注PHP中文網(wǎng)(www.miracleart.cn)其他文章!