найти, какой дочерний элемент родительского элемента jquery

0

Поэтому я могу найти, является ли элемент дочерним элементом родителя, но я не могу понять, как получить индекс текущего элемента в родительском элементе. Например. У меня сворачиваются статьи на моей странице http://gundlach-marketing.com/dev, чтобы сбросить поля, мне нужно знать, какой номер статьи они есть.

var articleId = $(this).attr('id');
var articleIndex;
$(this).parent().children('article').each(function (index) {
    if ($(this).attr('id') == articleId) {articleIndex = index}
});

приведенный выше код работает, он просто неэлегантен. Там должен быть лучший путь! Что это?

Теги:

2 ответа

1
Лучший ответ
$(this).parent().children() 

эквивалентно

$(this).siblings()

нет? А также

$(this).index()

может просто выполнять работу обоих.

http://jsfiddle.net/isherwood/VChu4/

  • 0
    Ух ты. Я предположил, потому что объект jquery часто является массивом, который с одним активным элементом $ ('. Active'). Index () всегда возвращал бы 0. Спасибо!
1

Использовать $ele.index

var $this = $(this);
var articleId = $this.prop('id');
var $article = $this.find("#" + articleId);
var index = $this.siblings('article').index($article);

Если вы пытаетесь найти индекс этого, тогда просто используйте

var index $(this).parent().getChildren('articles').index(this);
  • 0
    Ошибка типа: $ (...). Parent (...). GetSiblings не является функцией
  • 0
    @BGundlach моя плохая плохая копия паста

Ещё вопросы

Сообщество Overcoder
Наверх
Меню