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