2015-03-19 209 views
3

我有一個數組classNameList 我的HTML:獲得價值

<ul id="servicepricing"> 
    <li> 
     <a href="/service/page/servicepricing?dpt=4&amp;ServiceModelListId27071" class="ServiceModelListId27071 servicepricingicon">FR-S Automatic</a> 
     <span style="display: none;">Scion FR-S Automatic Service Pricing</span> 
    </li> 
    <li> 
     <a href="/service/page/servicepricing?dpt=4&amp;ServiceModelListId27072" class="ServiceModelListId27072 servicepricingicon">FR-S Manual</a> 
     <span style="display: none;">Scion FR-S Manual Service Pricing</span> 
    </li> 
    <li> 
     <a href="/service/page/servicepricing?dpt=4&amp;ServiceModelListId27061" class="ServiceModelListId27061 servicepricingicon">iQ Automatic</a> 
     <span style="display: none;">Scion iQ Automatic Service Pricing</span> 
    </li> 
    <li> 
     <a href="/service/page/servicepricing?dpt=4&amp;ServiceModelListId124" class="ServiceModelListId124 servicepricingicon">tC Automatic</a> 
     <span style="display: none;">Scion tC Automatic Service Pricing</span> 
    </li> 
    <li> 
     <a href="/service/page/servicepricing?dpt=4&amp;ServiceModelListId125" class="ServiceModelListId125 servicepricingicon">tC Manual</a> 
     <span style="display: none;">Scion tC Manual Service Pricing</span> 
    </li> 
</ul> 

最初我正在隱藏所有的表,當有人點擊上面的錨鏈接我要展示表具有相同的類名稱

<table id="FR-SManual" class="content sortable pureprice-data servicepricing-view ServiceModelListId27071" style="display: none;"> 
</table> 
<table id="FR-SManual" class="content sortable pureprice-data servicepricing-view ServiceModelListId27072" style="display: none;"> 
</table> 
<table id="FR-SManual" class="content sortable pureprice-data servicepricing-view ServiceModelListId27061" style="display: none;"> 
</table> 
<table id="FR-SManual" class="content sortable pureprice-data servicepricing-view ServiceModelListId2124" style="display: none;"> 
</table> 
<table id="FR-SManual" class="content sortable pureprice-data servicepricing-view ServiceModelListId125" style="display: none;"> 
</table> 


var className, 
classNameList = ["servicepricingicon", "main","ServiceModelListId27071"]; 

如何獲取以「ServiceModelListId」開頭的數組的值/ s。我試着用這個:

function fxnShowHide() { 
var aElem = this, 
    classNameList = $(aElem).attr("class").split(' '), 
    tblwdhClassName; 

if ($(aElem).hasClass('main')) { 
    $("#hero").show(); 
    $("table.servicepricing-view").hide(); 
} 

$.each(classNameList, function (key, value) { 
    if (value.indexOf("ServiceModelListId") === 0) { 
     tblwdhClassName = "table.servicepricing-view." + value; 
    } 
}); 

$(tblwdhClassName).show(); 

} 
$(".servicepricingicon").click(fxnShowHide); 

是否有任何其他進程out.each或for?

+3

如果要檢查它是否以該值開始,請將'> -1'更改爲== 0' – 2015-03-19 10:12:50

回答

0

我用$。每個功能

var classNameList = $(aElem).attr("class").split(' '), 
    elemClassName 


    $.each(classNameList, function (key, value) { 
     if (value.indexOf("ServiceModelListId") === 0) { 
      elemClassName = "." + value; 
     } 
    }); 
1
if (value.substring(0, 7) == "Service") { 
    // ... 
} 
1

var className, 
 
classNameList = ["servicepricingicon", "main","ServiceModelListId27071"]; 
 

 
$.each(classNameList , function(key, value) { 
 
    var anchor = $("." + classNameList[key]), 
 
     anchorText = anchor.text(), 
 
     anchorClass = anchor.attr("class"); 
 
    
 
    if (anchorClass.indexOf("Service") > -1) { 
 
     className = anchorText; 
 
     alert(className) 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<ul id="servicepricing"> 
 
    <li> 
 
     <a href="/service/page/servicepricing?dpt=4&amp;ServiceModelListId27071" class="ServiceModelListId27071 servicepricingicon">FR-S Automatic</a> 
 
     <span style="display: none;">Scion FR-S Automatic Service Pricing</span> 
 
    </li> 
 
    <li> 
 
     <a href="/service/page/servicepricing?dpt=4&amp;ServiceModelListId27072" class="ServiceModelListId27072 servicepricingicon">FR-S Manual</a> 
 
     <span style="display: none;">Scion FR-S Manual Service Pricing</span> 
 
    </li> 
 
    <li> 
 
     <a href="/service/page/servicepricing?dpt=4&amp;ServiceModelListId27061" class="ServiceModelListId27061 servicepricingicon">iQ Automatic</a> 
 
     <span style="display: none;">Scion iQ Automatic Service Pricing</span> 
 
    </li> 
 
    <li> 
 
     <a href="/service/page/servicepricing?dpt=4&amp;ServiceModelListId124" class="ServiceModelListId124 servicepricingicon">tC Automatic</a> 
 
     <span style="display: none;">Scion tC Automatic Service Pricing</span> 
 
    </li> 
 
    <li> 
 
     <a href="/service/page/servicepricing?dpt=4&amp;ServiceModelListId125" class="ServiceModelListId125 servicepricingicon">tC Manual</a> 
 
     <span style="display: none;">Scion tC Manual Service Pricing</span> 
 
    </li> 
 
</ul>

+0

此選擇器對於類無法可靠地工作。如果類的值是'foo bar ServiceFooBar',這將不起作用。 – 2015-03-19 10:22:58

+0

@RoryMcCrossan現在正在更新中。 – 2015-03-19 10:31:28

1

試試這個:創建名爲classsName數組並用.push()價值添加到它。你需要與0檢查開始與值進行比較indexOfService

var className = new Array(); 
$.each(classNameList, function(index, value) { 
    if (value.indexOf("Service") == 0) { 
     className.push(value); 
    } 
}); 

JSFiddle Demo

注意 - 開始的選擇是區分大小寫的