Поэтому я могу найти, является ли элемент дочерним элементом родителя, но я не могу понять, как получить индекс текущего элемента в родительском элементе. Например. У меня сворачиваются статьи на моей странице 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}
});
приведенный выше код работает, он просто неэлегантен. Там должен быть лучший путь! Что это?
$(this).parent().children()
эквивалентно
$(this).siblings()
нет? А также
$(this).index()
может просто выполнять работу обоих.
Использовать $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);