Ответ 1
$(".bullets li a").click(function(){
var myIndex = $(this).parent().prevAll().length;
showPic(myIndex);
});
Примечание: prevAll().length
предоставит вам индекс на основе нуля; первый элемент будет 0 (ноль).
<ul class="bullets">
<li><a href="#">item 1</a></li>
<li><a href="#">item 2</a></li>
<li><a href="#">item 3</a></li>
<li><a href="#">item 4</a></li>
<li><a href="#">item 5</a></li>
</ul>
Когда я нажимаю на элемент <a>
, я хотел бы получить его родительский <li>
номер индекса.
Я пытаюсь создать функцию типа карусели, которая не нуждается в элементах-n классов в элементах списка.
$(".bullets li a").click(function(){
var myIndex = $(this).parent().index(this);
showPic(myIndex);
});
Спасибо за любую помощь.
TD.
$(".bullets li a").click(function(){
var myIndex = $(this).parent().prevAll().length;
showPic(myIndex);
});
Примечание: prevAll().length
предоставит вам индекс на основе нуля; первый элемент будет 0 (ноль).
$(this).parent().index();
короткий и сладкий
Исправление: это не короткое и сладкое
откуда это должно получиться:
$(".bullets li a").click(function(){
var myIndex = $(this).parent().index();
console.log(myIndex);
showPic(myIndex);
});
$(".bullets li a").click(function(){
var myIndex = $(this).parent().index();
console.log(myIndex);
showPic(myIndex);
});
Как я это сделаю
$(".bullets li a").click(function()
{
var $li = $(this).parent();
var myIndex = $li.parent().children().index( $li );
alert( myIndex );
});
$(".bullets li a").click(function(){
var me = $(this);
var myIndex = $.each($("li", $(this).parent().parent()), function(i, item){
if(item == me){
showPic(i);
});
});
Вот решение, которое я создал с помощью таблиц. вы можете видеть, как я использовал селектора. Я уверен, что он может быть чище, но вот вы:
$('.showColumn').live('click',function() {
var theEl = {{id of the element}};
var setEl = $('th#' + theEl + '');
var index = setEl.index(setEl.parentNode);
$('table tr').each(function() {
$('th:eq(' + index + ')',this).show();
$('td:eq(' + index + ')',this).show();
});
});
cheers.bo