>  기사  >  php教程  >  JS/jQuery를 사용하여 DOM 노드가 존재하는지 확인하는 간단한 방법

JS/jQuery를 사용하여 DOM 노드가 존재하는지 확인하는 간단한 방법

高洛峰
高洛峰원래의
2016-12-05 14:26:281402검색

JS는 페이지에 DOM 노드가 있는지 여부를 기본적으로 확인합니다

JavaScript 기본 함수는 DOM 노드가 있는지 확인하는 방법을 제공하지 않습니다. 일반적으로 document.getElement.. 메서드를 통해 DOM 노드를 얻습니다. , 객체 배열을 반환합니다. 컬렉션을 사용하면 객체[0], 객체[1]을 통해 이 컬렉션의 각 객체에 액세스할 수 있습니다. 배열 집합이 반환되므로 길이 속성이 있으며 길이가 1보다 크거나 같다는 것은 페이지에 DOM 노드가 존재한다는 의미입니다.

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

사용:

페이지에 다음 노드가 있다고 가정합니다.

<div>这里是DIV节点</div>
<div>这里是DIV节点</div>
<span>这里是span节点</span>

노드가 페이지에 있습니다:

var is_exist = document.getElementsByTagName(&#39;div&#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

참고: document.getElementById() 메서드를 사용하여 객체를 가져오는 경우 존재( ) 메소드는 ID를 기준으로 노드 객체를 얻는 메소드를 얻을 수 없기 때문에 노드의 경우 빈 객체가 반환되고 프로토타입exist() 함수가 통합되지 않으므로 오류가 보고됩니다! 따라서 ID를 기반으로 개체를 가져오는 경우 if(obj)를 직접 사용하여 페이지에 DOM 노드가 있는지 확인할 수 있습니다.

jQuery는 페이지에 DOM 노드가 있는지 확인합니다

이렇게 할 수 있습니다.

프로토타입 추가:

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

사용:

페이지에 다음 DOM 노드가 있는 경우


这里是id=a节点
<div>这里是DIV节点</div> <div>这里是DIV节点</div> <span>这里是span节点</span>

판단:

alert($(&#39;#aaa&#39;).exist()); // false
alert($(&#39;#a&#39;).exist()); // true
alert($(&#39;div&#39;).exist()); // true
alert($(&#39;p&#39;).exist()); // false

위의 두 가지 방법이 실제로 여부를 결정합니다. 객체는 객체 컬렉션의 길이 속성을 기반으로 존재합니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.