주어진 JavaScript 객체가 DOM 요소인지 여부를 감지하는 가장 좋은 방법은 무엇입니까? [복제하다
-
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
제휴하지 않습니다 StackOverflow