>  기사  >  웹 프론트엔드  >  javascript 및 jquery를 사용하여 dom 노드의 존재를 감지하는 방법에 대한 방법 예제에 대한 자세한 설명

javascript 및 jquery를 사용하여 dom 노드의 존재를 감지하는 방법에 대한 방법 예제에 대한 자세한 설명

伊谢尔伦
伊谢尔伦원래의
2017-07-20 11:46:151042검색

1. JavaScript는 페이지에 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;
};

Usage:

페이지에 다음 노드

<p>这里是p节点</p>
<p>这里是p节点</p>
<span>这里是span节点</span>

노드가 페이지에 있는지 확인:

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


참고:

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);

사용법:
페이지에 다음 DOM 노드가 있는 경우


这里是id=a节点

<p>这里是p节点</p> <p>这里是p节点</p> <span>这里是span节点</span>

판사:

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

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

위 내용은 javascript 및 jquery를 사용하여 dom 노드의 존재를 감지하는 방법에 대한 방법 예제에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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