2012-05-05 3 views
1

Предположим, у меня есть 10 кнопок. Я хочу скрыть все кнопки, кроме первого.jQuery - скрыть все элементы кроме первого

Я пытаюсь выполнить его с помощью каждого() в jQuery, но не работает.

Вот мой сценарий. Это всего лишь тест, чтобы узнать, могу ли я получить индекс кнопок. Ошибок не возникает.

$('button').each(function(index){ 
    alert(index); 
}); 

Дополнительная информация:

Мой весь сценарий это

$(function(){ 
    $('div#here').load('test.php'); // This is where all the buttons will come from 
    $('button').each(function(index){ 
     alert(index); 
    }); 
}); 

ответ

2

То же, что и ThiefMaster, но не забывайте, что вам нужно дождаться загрузки кнопок.

Вы должны использовать функцию обратного вызова нагрузки:

$(function(){ 
$('div#here').load('test.php', function(){ 
    $('button:not(:first)').hide(); 
}); // This is where all the buttons will come from 

}); 

Doc: http://api.jquery.com/load/

+0

Спасибо! Я объединил ваш ответ и кодер. Я бы дал вам правильный ответ, если мог. – JohnSmith

1

Используйте один из них:

$('button:not(:first)').hide(); 
$('button:gt(0)').hide(); 
5

Попробуйте это:

Slice() дает лучшую производительность

$('button').slice(1).hide(); 
Смежные вопросы