Rumah > hujung hadapan web > tutorial js > 如何分别使用javascript和jquery来检测dom节点存在的方法实例详解

如何分别使用javascript和jquery来检测dom节点存在的方法实例详解

伊谢尔伦
Lepaskan: 2017-07-20 11:46:15
asal
1134 orang telah melayarinya

1. JavaScript判断DOM节点是否存在页面中

JavaScript原生函数没有提供判断DOM节点是否存在方法,我们通常获取DOM节点几乎都是document.getElement..方法,会返回一个object数组合集,我们可以通过object[0],object[1]这样来访问这个合集的每一个对象。既然返回的是数组合集,那么就有length属性,而length大于等于1即表示DOM节点存在页面中

代码:


Object.prototype.exist = function(){ 
 if(typeof this !='undefined' && this.length>=1){
  return true;
 }
 
 return false;
};
Salin selepas log masuk

使用:

假设页面有如下节点


<p>这里是p节点</p>
<p>这里是p节点</p>
<span>这里是span节点</span>
Salin selepas log masuk

判断节点是否在页面:


var is_exist = document.getElementsByTagName(&#39;p&#39;).exist();
alert(is_exist); // true
 
var is_exist = document.getElementsByTagName(&#39;span&#39;).exist();
alert(is_exist); // true
 
var is_exist = document.getElementsByTagName(&#39;p&#39;).exist();
alert(is_exist); // false
Salin selepas log masuk

注意:如果使用是使用document.getElementById()方法获取对象的就不能使用exist()方法,因为根据ID取节点对象的方法在取不到节点的情况下会返回一个空对象,不会集成原型exist()函数,所以会报错!所以如果是根据ID取对象的可以直接if(obj)这样既可判断DOM节点是否存在页面中

2. jQuery判断DOM节点是否存在页面中

添加原型:


(function($) {
 $.fn.exist = function(){ 
  if($(this).length>=1){
   return true;
  }
  return false;
 };
})(jQuery);
Salin selepas log masuk

使用方法:
假如页面有如下DOM节点


这里是id=a节点

<p>这里是p节点</p> <p>这里是p节点</p> <span>这里是span节点</span>
Salin selepas log masuk

判断:


alert($(&#39;#aaa&#39;).exist()); // false
alert($(&#39;#a&#39;).exist()); // true
alert($(&#39;p&#39;).exist()); // true
alert($(&#39;p&#39;).exist()); // false
Salin selepas log masuk

以上两种方法其实都是根据对象集合的length属性判断对象是否存在。

Atas ialah kandungan terperinci 如何分别使用javascript和jquery来检测dom节点存在的方法实例详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan