Используйте :eq
вместо :nth-child
. Поскольку .eq()
более эффективен, чем :eq
, используйте .eq()
вместо:
$('.streetdog').hide();
$('.cat').mouseenter(function(){
var $catVal = $(".cat").index(this);
$('.streetdog').eq($catVal).show();
});
Скрипка: http://jsfiddle.net/rkM8N/1/
$('.streetdog').eq()
создает набор, состоящий из всех элементов, имя класса которых равно streetdog
. Затем .eq(n)
возвращает n -й элемент в этом наборе.
$('.streetdog:nth-child(' + $catVal + ')')
выберите элемент .streetdog
, который является $catVal
-ым дочерним элементом его родителя. Следовательно, элементы отображаются только тогда, когда $catVal
равно двум.