2011-09-02 4 views

답변

1

시도해보십시오.

DOM 개체인지 확인합니다. 그것은 jQuery를 객체

if(arg.jquery){ 
    //Its a jQuery object 
} 

에게 또는 demo

는 true를 돌려줍니다이 기능을 시도 할 수 있습니다 작업 경우 인수로 전달 된 요소는 DOM 경우

if(arg.tagName){ 
    //Its a dom element 
} 

확인하려면 요소. 최신 브라우저로

function isElement(o){ 
    return (
    typeof HTMLElement === "object" ? o instanceof HTMLElement : 
    typeof o === "object" && o.nodeType === 1 && typeof o.nodeName==="string" 
); 
+2

'arg = {tagName :'pancakes '}'이면 실패합니다. –

+0

같은 대답으로 다른 해결책을 추가했습니다. – ShankarSangoli

+1

'Element'가 작동해야합니까? 고려해야 할 텍스트 노드도 있습니다. 하지만 네가 관심있는 질문을 정확하게 묻는 것은 속성 등을 간접적으로 검사하는 것보다 낫다. –

2

나는

e instanceof Element 
e instanceof Text // text node 
+0

니스. 그리고 당신을위한 참고 자료 : https://developer.mozilla.org/en/HTML/Element –

+0

IE8도 친숙합니다. – Leonid

0

같은 그냥이 innerHTML을 기능이 있거나없는 개체를 확인 생각합니다. 예를 들어

:

function (obj) { 
    if(!!obj.innerHTML) // force the function to be boolean 
    { 
     // do something here if it was a html element 
    } 
    else { 
     // do stuff here if it wasn't 
    } 



} 
1

el instanceof Node 당신에게 true경우 엘을 줄 것이다는 DOM의 일부입니다. el instanceof Element - true 또한 요소 일 경우.

관련 문제