2012-04-25 2 views
0

У меня есть несколько ссылок, чтобы показать связанные содержания в одной странице шоу я использовал это,JQuery скрыть шоу с помощью индекса

$("#option .link").click(function(){ 
    Options=$("#option .link").index(this); 
    $("#content").hide(); 
    $("#content:eq("+Options+")").show(); 
}) 

, но это не работает

ответ

-1

вы использовали #content идентификатор для элемента, но вы должны использовать только один идентификатор на одной странице, так что вы должны изменить все #content идентификатор класса .content

$("#option .link").click(function(){ 
    Options=$("#option .link").index(this); 
    $(".content").hide(); 
    $(".content:eq("+Options+")").show(); 
}); 

внесите изменения и попробуйте ...

+0

что это за черт ... почему -1 за этот пост – Dhamu

+0

Будьте осторожны; вы делаете 'Options' неявным глобальным *, что плохо *. 'var Options = $ (" # option .link "). index (this);' будет лучше, и 'var options = $ (" # option .link "). index (this);' будет * равно * (заглавные буквы для конструкторов). – Matt

3

Существует только один элемент, который может иметь id равно content, потому что идентификаторы уникальны. Вероятно, вам нужно переключиться на класс, как и с .link.

С другой стороны, Index в вашем коде является глобальной переменной. Globals следует избегать, и в этом нет необходимости, поэтому сделайте его локальным с var Index.

1

Ваша идея прав .. Но ты не должен использовать подобный идентификатор для более чем одного элемента .. Здесь и используется #content (кажется) более одного элемента ..

Попробуйте с классом ..

$("#option .link").click(function(){ 
    Options=$("#option .link").index(this); 
    $(".content").hide(); 
    $(".content:eq("+Options+")").show(); 
}) 
Смежные вопросы