Programing

jquery : 요소에 특정 CSS 클래스 / 스타일이 있는지 확인하는 방법

lottogame 2020. 9. 22. 20:59
반응형

jquery : 요소에 특정 CSS 클래스 / 스타일이 있는지 확인하는 방법


div가 있습니다.

<div class="test" id="someElement" style="position: absolute"></div>

특정 요소가 있는지 확인하는 방법이 있습니까?

$("#someElement") 

특정 클래스 (제 경우에는 "테스트")가 있습니다.

또는 en 요소에 특정 스타일이 있는지 확인하는 방법이 있습니까? 이 예에서는 요소에 " position: absolute" 가 있는지 알고 싶습니다 .

대단히 감사합니다!


if($('#someElement').hasClass('test')) {
  ... do something ...
}
else {
  ... do something else ...
}

CSS 스타일은 단순히 "태그"가 아닌 키-값 쌍입니다. 기본적으로 각 요소에는 할당 된 전체 CSS 스타일 세트가 있으며, 대부분은 암시 적으로 브라우저 기본값을 사용하고 일부는 CSS 스타일 시트에서 명시 적으로 재정의됩니다.

요소의 특정 CSS 항목에 할당 된 값을 가져 와서 비교하려면 :

if ($('#yourElement').css('position') == 'absolute')
{
   // true
}

스타일을 재정의하지 않은 경우 해당 특정 요소에 대한 브라우저 기본값이 표시됩니다.


if ($("element class or id name").css("property") == "value") {
    your code....
}

또는 해당 속성이 있고 ID를 사용하지 않는 요소에 액세스해야하는 경우 다음 경로로 이동할 수 있습니다.

$("img").each(function () {
        if ($(this).css("float") == "left") { $(this).addClass("left"); }
        if ($(this).css("float") == "right") { $(this).addClass("right"); }
    })

하나의 해결책을 찾았습니다.

$("#someElement")[0].className.match("test")

하지만 어떻게 든 더 나은 방법이 있다고 믿습니다!


질문은 두 가지 다른 것을 요구합니다.

  1. 요소에는 특정 클래스가 있습니다.
  2. 요소에는 특정 스타일이 있습니다.

두 번째 질문은 이미 답변되었습니다. 첫 번째는 다음과 같이 할 것입니다.

if($("#someElement").is(".test")){
    // Has class test assigned, eventually combined with other classes
}
else{
    // Does not have it
}

참고 URL : https://stackoverflow.com/questions/759631/jquery-how-to-check-if-the-element-has-certain-css-class-style

반응형