2013-03-20 10 views
-1

할당 된 여러 클래스 이름이있는 HTML 요소의 클래스 이름 속성 중 하나를 얻기 위해 jQuery를 사용하는 방법 : 나는 $(this).attr("class")를 사용하는 경우예를 들어

<div class="home current">home</div> 

, 단순히 "홈 현재"를 반환합니다. '홈'속성 만 가져 오려고합니다. 이것을 어떻게 할 수 있습니까?

+3

질문이 명확하지 않습니다. div에 'home'클래스가 있는지 확인하려고합니까, 아니면 클래스 목록에 나열된 첫 번째 클래스를 가져 오려고합니까? – kinakuta

+0

가능한 중복 : [jQuery - 요소에서 첫 번째 클래스 만 가져 오기] (http://stackoverflow.com/q/3203966/1456376) – insertusernamehere

답변

2

당신은 클래스 이름을 알고 요소가있는 경우 확인하려면 별도로 요소에 적용되는 각 클래스를 원하는 경우, 당신은 분할 할 수 있습니다, 반면에 .hasClass()

// will return true if the element has that class applied to it 
$(elem).hasClass('home'); 

을 사용할 수 있습니다 공간과 반복 처리 기준 : 만 추가 클래스로 "현재"있는 경우

var classes = $(elem).attr('class').split(' '); 
for(var i=0; i<classes.length; i++) { 
    classes[i]; // each class name 
} 
0
var allClass= $(this).attr("class"); 
var class = allClass.replace("current", ""); 

이 작동

1

class 속성은 요소에 할당 된 CSS 클래스의 공백으로 구분 된 목록을 반환합니다. 배열로 변환하려면 문자열에 split 메서드를 사용하고 첫 번째 문자열을 검색하려면

과 같이 [0] 인덱서를 사용하십시오.
var firstClass = $(this).attr('class').split(' ')[0] 
0

클래스 목록을 가져와야하는 특별한 이유가 있습니까? 당신이 당신이 찾고있는 클래스를 알고 그냥 객체 클래스 집이 있는지 확인해야하는 경우,이 작업을 수행 할 수 있습니다 :

$(this).hasClass("home"); 

을 그렇지 않으면, 당신은 결과를 분할하고 당신이 필요로하는 어떤 클래스를 확인 할 수있다.

var classAttr = $(this).attr("class"); 
var classes = classAttr.split(" "); 
0

기본 요소 클래스가 필요합니다.

var primaryClass= $(this).attr('class').split(' ')[0]. 

클래스를 사용하지 않는 경우이 라인을 사용하면 예외가 발생할 수 있습니다.