Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   помогите с классами (https://javascript.ru/forum/jquery/34351-pomogite-s-klassami.html)

BorisBritva 30.12.2012 17:35

помогите с классами
 
есть код
$('div').children('a[class!=wd_hid]:first')


как составить точно такой же, но чтобы он работал при условии что у (a) есть еще и другой класс? Этот не работает!

Спасибо.

Deff 30.12.2012 17:41

BorisBritva,
Приведите код HTML для обоих видов ссылок

BorisBritva 30.12.2012 18:29

<a href=""></a>


И все. Там просто перед этим классом есть еще один класс, он ставится статически, взависимости от id юзверя.

по нажатии на другую ссылку с (+) должно устанавливаться
$('div').children('a[class!=wd_hid]:first').addClass('wd_hid');

после вывода через alert класса этой ссылки
alert($('div').children('a[class!=wd_hid]:first').attr('class'));

получается ava3 wd_hid

посути класс для него установился.

и после того как всетаки установился этот класс следующее выражение все равно не работает:
$('div').children('a:last').index()-$('div').children('a.wd_hid:last').index()

так тоже пробовал:
$('div').children('a:last').index()-$('div').children('a[class==wd_hid]:last').index()


Если там нет другого класса, то все работает.
Блин. ХЗ.

Он короче говоря вместо первого видемого элемента выдает вообще самый первый!
и когда свледующий раз нажимаешь на (+) он устанавливает класс wd_hid все тамуже первому элементу.

Deff 30.12.2012 23:30

<style type="text/css">
.Wrap a{
 display:block;
}
a.wd_hid {
 display:none;
}
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>

<div class=Wrap>
<a href="">ccылка 1</a>
<a href="">ccылка 2</a>
<a href="">ccылка 3</a>
<a href="">ccылка 4</a>
<a href="">ccылка 5</a>
</div>

<input type="button" value="3" onclick="HideLink()"/><br />

<script type="text/javascript">
function HideLink(){
 $(".Wrap a:not(.wd_hid):first").addClass("wd_hid")
}
</script>

BorisBritva 31.12.2012 15:02

Сначала сделал так:
var index = $('div').children('a[class$=wd_hid]:last').next('a').index();
if(index<0) $('div').children('a:first').addClass('wd_hid');
else $('div').children('a[class$=wd_hid]:last').next('a').addClass('wd_hid');
- заработало :)

После Ваего ответа попробывал с:
$('div').children('a:not(.wd_hid):first').addClass('wd_hid');

Тоже работает :)

Так что воспользуюсь Вашим творением. Спасибо.


Часовой пояс GMT +3, время: 03:28.