주어진 JavaScript 객체가 DOM 요소인지 여부를 감지하는 가장 좋은 방법은 무엇입니까? [복제하다

StackOverflow https://stackoverflow.com/questions/120262

  •  02-07-2019
  •  | 
  •  

문제

이 질문은 이미 여기에 답이 있습니다.

예를 들어 여러 인수 유형을 받아들이도록 설계된 함수를 작성하고 있다고 말합니다.

var overloaded = function (arg) {
    if (is_dom_element(arg)) {
        // Code for DOM Element argument...
    }
};

구현하는 가장 좋은 방법은 무엇입니까? is_dom_element 그것이 크로스 브라우저, 상당히 정확한 방법으로 작동 하는가?

도움이 되었습니까?

해결책

jQuery는 Nodetype 속성을 확인합니다. 그래서 당신은 다음과 같습니다.

var overloaded = function (arg) {
    if (arg.nodeType) {
        // Code for DOM Element argument...
    }
};

이것은 요소뿐만 아니라 모든 DOM 객체를 감지 할 것입니다. 요소 만 원한다면 다음과 같습니다.

var overloaded = function (arg) {
    if (arg.nodeType && arg.nodeType == 1) {
        // Code for DOM Element argument...
    }
};

다른 팁

아마 여기에 이것 :

node instanceof HTMLElement

대부분의 브라우저에서 작동해야합니다. 그렇지 않으면 오리 형을 만들어야합니다 (예 : typeof x.nodeType != 'undefined')

는 어때

obj instanceof HTMLElement
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top