2010-08-26 5 views
4

Итак, я создаю плагин jQuery для проекта, который позволяет клиенту создавать несколько скроллеров jQuery на страницу - я сосредоточен строго на передней части для этого вопроса ,jQuery, возвращающий число (eq) щелкнутого div

В документе, готовом, он будет сообщать слайдеру div для инициализации. Затем он принимает количество изображений в слайдере и создает маленькую кнопку круга для каждого изображения, чтобы пользователь мог щелкнуть по кругу и перейти непосредственно к соответствующему изображению.

Я ищу что-то, что вернет значение этого круга, чтобы узнать, к какому слайду они пытаются добраться. $(this).eq() не работает.

ответ

9

Если элементы являются братьями и сестрами, вы могли бы сделать это:

var index = $(this).index(); 

Если нет, то вы можете передать селектор набора, в котором искать элемент.

var index = $(this).index('someSelector'); 

Просто поместите правильное одно из них внутри вашего обработчика кликов.

+0

Это работало замечательно, спасибо! – Michael

+0

@ Майкл - Добро пожаловать. Не забудьте принять этот ответ, нажав на большую галочку слева, если это будет полезно. – user113716

+0

Просто щелкнул его, как только он позволил мне. Еще раз спасибо! – Michael

1

Чтобы получить индекс, используйте .index() так:

$("#content > div").click(function() { 
    alert($(this).index()); 
}); 

Если они не рядом друг с другом, используйте:

$(".selector").click(function() { 
    alert($(this).index(".selector")); 
}); 

.index() возвращает индекс 0 на основе, только как вы перешли бы к .eq(). Ваш вопрос действительно поднимает интересный момент, но почему .eq() без аргументов возвращает индекс ...

0

Чтобы расширить ответ на ответ Патрика, вы можете использовать индекс с коллекцией для большей детализации.

Что-то вроде:

var collection = $("div.slider").find("img"); 
$("div.slider img").click(function() { 
var index = $(collection).index(this); 
}); 
+1

Майк - Если вы собираетесь использовать коллекцию, вам нужно перевернуть ее. '$ (collection) .index (this);': o) – user113716

+0

Оглушает спасибо - я всегда смущаю этих двух. Исправлена. –

Смежные вопросы