2014-12-05 5 views
1

기본 asp.net 웹 사이트에서 탭으로 계획되어있는 div의 클래스를 가져 오는 데 어려움을 겪고 있습니다. 나중에 jQuery를 사용하여 동적 함수를보다 잘 제어 할 수 있기를 바랍니다. 그러나 특정 "selectedTab"의 값을 가져 오려고하면 "정의되지 않음"이 표시됩니다.
내 질문에 내가 어떻게 내 코드에서 옳다고 생각하는 개체에 대한 이름과 함께 관련 클래스를 저장할 수 있으며, 다음 그것을 검색 할 수 있습니다.jQuery에서 클래스 속성에 액세스 - 키, 값 쌍

이 내 아주 간단한 HTML의 관련 부분입니다 :

<div id="t1" class="tabs"></div> 
<div id="t2" class="tabs"></div> 
<div id="t3" class="selectedTab"></div> 
<p></p> 

그리고 내 jQuery를 :

var tabMatchList = [{ 
    "tab1": "tabs" 
}, { 
    "tab2": "tabs" 
}, { 
    "tab3": "selectedTab" 
}]; 
$.each(tabMatchList, function (i, val) { 
    if ($("#t3").attr("class") == val[0]) { 
     $("p").append(i + " was the tab searched for"); 
    } else { 
     $("p").append(i + " was not the tab searched for." + val[0]); 
    } 
}); 

모든 도움과 조언은 매우 환영합니다.

+1

'selectedTab' 또는'selectedTabs'? 또한 나는 당신이'tab1'과'tab2'가 둘 다't1'과't2'와 일치한다는 것을 알고 있다고 가정합니다. – Rhumborl

+0

나는't1'과't2' 둘 모두와 일치한다는 것을 알고 있습니다. 그게 내 의도 야. 내가 여기 코드에서 쓴 것처럼 typo 인'selectedTabs '에 관해서는 : P. –

답변

3

.attr("class").없이 클래스 이름 를 반환합니다, 그래서 당신은 당신의 배열에서 그것을 제거해야합니다

또한, 배열 클래스 selectedTab을 가지고 있지만, 당신의 HTML의 클래스는 selectedTabs입니다. 일치하는지 확인하십시오. 옆으로 작동하지 않습니다 코드가

:

var tabMatchList = [{ 
    tabName: "tab1", tabClass: "tabs" 
    }, { 
    tabName: "tab2", tabClass: "tabs" 
    }, { 
    tabName: "tab3", tabClass: "selectedTab" 
}]; 

그런 다음 우리는 다음을 수행 할 수 있습니다 : 첫째

, 우리는 객체의 배열에 속성 이름을 지정해야

$.each(tabMatchList, function (i, val) { 
    if ($("#t3").attr("class") == val.tabClass) { 
     $("p").append(" " + val.tabName + " was the tab searched for "); 
    } else { 
     $("p").append(" " + val.tabName + " was not the tab searched for."); 
    } 
}); 

DEMO

+0

여전히 작동하지 않습니다. 여기에 제안 된 변경 사항이있는 jFiddle을 추가했습니다. [link] (http://jsfiddle.net/vrcp78e8/) –

+0

@ChristianS 내 업데이트 된 답변 확인 데모를 제공 했으므로 코드에 다른 많은 문제가 있으므로 약간 재 작성했다. – mattytommo

+0

@ChristianS 데모는 여기에 있습니다. http://jsfiddle.net/8ocycjua/1/ – mattytommo

0
$('#t1,#t2,#t3').each(function(i){ 
    if($(this).attr('class') == 'selectedTab'){ 
     $("p").append(i + " was the tab searched for <br/>"); 
    }else{ 
     $("p").append(i + " was not the tab searched for." + $(this).attr('class') + "<br/>"); 
    } 
}); 
,

DEMO