Проверить, есть ли в классе элемент из массива? и прятать не нажаты - PullRequest
0 голосов
/ 12 мая 2011

Привет, я пытаюсь сделать что-то правильно.

Во-первых, у меня есть 12 пунктов меню с идентификатором. Когда страница загружена, я хотел бы проверить, присутствует ли одно или несколько из этих значений идентификатора в определенном классе.

Чем мне нравится скрывать все названия меню (визуально), которые не нажимаются в классе.

Код на данный момент: он правильно запускает цикл ... или я не делаю массив правильным образом

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"]') должно быть визуально скрыто. . Скрыть из меню. (не только идентификатор, но и сама ссылка меню)

<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-плагинов. В конце я заменяю шкурку анимацией, чтобы сделать их более прозрачными. Таким образом, вы четко видите вариант, который вы выбрали ранее.

Класс может содержать разные категории. Странные названия - это названия штатов, но потом из Голландии.

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

1 Ответ

0 голосов
/ 12 мая 2011

Использование идентификаторов - очень плохая идея.

<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();
});

классы - это способ группировки похожих объектов, поэтому вам не нужно использовать идентификаторы для каждого элемента:)

...