programing tip

요소가 div인지 확인

itbloger 2020. 12. 14. 07:57
반응형

요소가 div인지 확인


$(this)div, ul또는 인지 어떻게 확인 blockquote합니까?

예를 들면 :

if ($(this) is a div) {
  alert('its a div!');
} else {
  alert('its not a div! some other stuff');
}

이 같은:

if(this.tagName == 'DIV'){
    alert("It's a div!");
} else {
    alert("It's not a div! [some other stuff]");
}

jQuery가없는 솔루션은 이미 게시되어 있으므로 jQuery를 사용하여 솔루션을 게시하겠습니다.

$(this).is("div,ul,blockquote")

jQuery 없이는 말할 수 있습니다. this.tagName === 'DIV'

'N' tagName은 대문자 라는 점에 유의하십시오 .

또는 더 많은 태그 사용 :

/DIV|UL|BLOCKQUOTE/.test(this.tagName)


if(this.tagName.toLowerCase() == "div"){
    //it's a div
} else {
    //it's not a div
}

편집 : 글을 쓰는 동안 많은 답변이 주어졌습니다.


jQuery를 통해 다음을 사용할 수 있습니다 $(this).is('div').

선택자, 요소 또는 jQuery 객체에 대해 현재 일치하는 요소 집합을 확인하고 이러한 요소 중 하나 이상이 주어진 인수와 일치하면 true를 반환합니다.


이 요소가 DIV인지 확인하려면

if (this instanceof HTMLDivElement) {
   alert('this is a div');
}

HTMLUListElementUL과 동일 ,
HTMLQuoteElement인용구


이러한 솔루션 중 일부는 약간 넘어 가고 있습니다. 필요한 것은 tagName일반적인 오래된 자바 스크립트에서 나온 것입니다. jQuery에서 모든 것을 다시 래핑하고 특히 라이브러리에서 더 강력한 일부 함수를 실행하여 태그 이름을 확인하는 것은 실제로 아무런 이점도 얻지 못합니다. 이 페이지에서 테스트하려면 여기에 예가 있습니다.

$("body > *").each(function() {
  if (this.tagName === "DIV") {
    alert("Yeah, this is a div");
  } else {
    alert("Bummer, this isn't");
  }
});

나는 Andreq Frenkel의 대답을 향상시키고 있습니다. 그냥 일부를 추가하고 싶었고 너무 길어졌습니다.

기존 요소를 확장하는 CustomElements에 대해 생각하고 요소가, 예를 들어 여전히 확인할 수 input있다는 instanceof것은이 문제에 대한 최상의 솔루션 이라고 생각하게합니다 .

One should be aware though, that instanceof uses referential equality, so HTMLDivElement of a parent window will not be the same as the one of its iframe (or shadow DOM's etc).

To handle that case, one should use checked element's own window's classes, something like:

element instanceof element.ownerDocument.defaultView.HTMLDivElement


Try using tagName


let myElement =document.getElementById("myElementId");

if(myElement.tagName =="DIV"){

  alert("is a div");

}else{

  alert("is not a div");

}
/*What ever you may need to know the type write it in capitalised letters "OPTIO" ,"PARAGRAPH", "SPAN" AND whatever */

참고URL : https://stackoverflow.com/questions/6518802/check-if-element-is-a-div

반응형