programing

요소가 디바인지 확인합니다.

instargram 2023. 10. 4. 20:56
반응형

요소가 디바인지 확인합니다.

다음을 확인하려면 어떻게 해야 합니까?$(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")

이 요소가 DIV인지 확인하려면 다음과

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

마찬가지.HTMLUListElementUL의 경우.
HTMLQuoteElement블록 견적용

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
}

edit : 글을 쓰는 동안 많은 답변이 주어졌습니다, 이중으로 죄송합니다

오래된 질문이지만 답 중 아무도 이것을 언급하지 않기 때문에 jquery가 없는 현대적인 대안은 CSS 선택기와 Element.matchs()를 사용할 수 있습니다.

element.matches('div, ul, blockquote');

jQuery를 거치면 다음을 사용할 수 있습니다.

셀렉터, 요소 또는 jQuery 개체에 대해 현재 일치하는 요소 집합을 확인하고 이러한 요소 중 하나 이상이 지정된 인수와 일치하면 true를 반환합니다.

이러한 솔루션 중 일부는 다소 과도한 수준을 보이고 있습니다.필요한 건tagName일반적인 오래된 자바스크립트에서.jQuery에서 전체를 다시 래핑하고, 특히 라이브러리에서 태그 이름을 확인하기 위해 더 강력한 기능을 실행하면 아무런 이점을 얻을 수 없습니다.이 페이지에서 테스트하려면 다음과 같은 예가 있습니다.

$("body > *").each(function() {
  if (this.tagName === "DIV") {
    alert("Yeah, this is a div");
  } else {
    alert("Bummer, this isn't");
  }
});
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 */

안드레크 프렌켈의 답변을 강화하고 있습니다. 그냥 몇 가지를 추가하고 싶었더니 너무 길어져서 여기서 사라졌습니다.

CustomElements(사용자 지정 요소)를 기존 요소로 확장하고 요소가 다음과 같이 구성되어 있는지 확인할 수 있는 방법에 대해 생각하고 있습니다.input, 라고 생각하게 합니다.instanceof이 문제에 대한 최선의 해결책입니다.

사람들은 알아두어야 합니다만,instanceof참조 평등을 사용하기 때문에HTMLDivElement부모 창의 창과 동일하지 않습니다.iframe(또는 그림자 DOM 등).

이 경우를 처리하려면 다음과 같은 확인된 요소의 자체 윈도우 클래스를 사용해야 합니다.

element instanceof element.ownerDocument.defaultView.HTMLDivElement

tagName을(를) 사용해 봅니다.

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

반응형