2011-05-12 22 views
0

嗨,我想要得到正確的東西。檢查類是否有數組中的元素?並隱藏那些沒有按下

首先,我有12個帶有ID的菜單項。當頁面加載時,我想檢查一個或多個這些id值是否存在於某個類中。

比我喜歡隱藏所有的菜單名稱(視覺上)女巫沒有在課堂上按下。

到目前爲止的代碼:它doenst運行循環正常......或者我不使數組正道

var test = $('.prov-nav').text().toLowerCase(); 
var cols = $.makeArray(test); 
//alert(cols); 

for (var i = 0; i < cols.length; i++) 
{ 
if ($('div[class^="cn-list-row"]').hasClass(cols[i])) 
{ 
// .hide menu names (visually) witch are not pressed in the class 
break; 
} 
else 
{ 
alert('o no'); 
} 

HTML菜單:女巫的非在類名按('DIV [class^=「cn-list-row」]')應該在視覺上隱藏。從菜單中隱藏。 (不僅是ID但菜單鏈接本身)

<ul class="prov-nav"> 
<li><a href="#">Drenthe</a></li> 
<li><a href="#">Flevoland</a></li> 
<li><a href="#">Friesland</a></li> 
<li><a href="#">Gelderland</a></li> 
<li><a href="#">Limburg</a></li> 
<li><a href="#">Noord-Brabant</a></li> 
<li><a href="#">Noord-Holland</a></li> 
<li><a href="#">Overijssel</a></li> 
<li><a href="#">Utrecht</a></li> 
<li><a href="#">Zeeland</a></li> 
<li><a href="#">Zuid-Holland</a></li><br/> 
<ul><!-- end of prov-nav --> 

的DIV類是(動態地)裝載從WP插件caled連接。最後,我用動畫替換了隱藏,以使它們淡入不透明度。所以你清楚地看到你之前選擇的選項。

該類可以包含不同的類別。奇怪的名字是國家名稱,但後來從荷蘭。

<div class="cn-list-row-alternate vcard cag_custom_st drenthe particulier sporttherapie"></div> 
+0

不明白你的意思了一個辦法,你能描述你想什麼視覺效果實現? – Val 2011-05-12 14:50:28

+0

從菜單中隱藏了id的視覺效果,id的女巫沒有在類中按下('div [class^=「cn-list-row」]')。因此,如果只有德倫特被按下,除德倫特之外的其他菜單應該隱藏起來。 – Rob 2011-05-12 14:53:01

+0

您能否展示DIV並更好地解釋關係 – 2011-05-12 14:57:26

回答

0

使用ID是一個非常糟糕的主意。

<ul> 
    <li class="nav-li">Drenthe</li> 
    <li class="nav-li">Flevoland</li> 
    <li class="nav-li">Friesland</li> 
    <li class="nav-li">Gelderland</li> 
</ul> 

$('.nav-li').click(function(){ 
    $(this).show().siblings().hide(); 
}); 

類是類似的對象組合在一起的,所以你不必使用的ID對每個項目:)

+0

猜你的權利,我剛剛刪除它們。但是,儘管他們可能會給他們一些具體的價值。現在沒有意義,因爲文本與id相同。 – Rob 2011-05-12 15:10:38

+0

如果情況變得更糟,你可以使用':contains()'或'.eq()'或者甚至更多,你可以使用多個類'nav-li drenthe',所以如果你需要的話可以使用'$ ('.nav-li.drenthe')'與使用一個id相同,但你把它當作一個類以及id [ish] :) – Val 2011-05-12 16:43:33