Поиск более быстрого или лучшего метода для выбора n-го дочернего элемента узла XML с помощью jquery - PullRequest
2 голосов
/ 04 августа 2011

Вот мой код:

var CDs=$(xml).find("CDs");
var NthChild = $(CDs).find("CD:nth-child(index)"); // nth-child 0th element starts at 1

Я использую здесь метод поиска;Я должен указать имя дочернего узла, который отмечен как «CD».Есть ли более быстрый или короткий метод, возможно, мне не нужно указывать имя дочернего узла (например, «CD»), чтобы найти n-й дочерний узел?

Спасибо.

ОБНОВЛЕНИЕ

Я нашел формат, в котором не нужно указывать дочерний узел по имени:

var NthChild = $(CDs).children(":nth-child(index)");

Ответы [ 2 ]

4 голосов
/ 04 августа 2011
$(xml).find("CDs CD").eq(index);

Согласно jQuery docs

Потому что: eq () является расширением jQuery, а не частью CSS спецификация, запросы с использованием: eq () не могут использовать преимущества повышение производительности обеспечивается родным DOM querySelectorAll () метод. Для повышения производительности в современных браузерах используйте $ ("your-pure-css-selector"). eq (index) вместо.

2 голосов
/ 04 августа 2011
$(xml).find("CDs CD:eq(0)")

Поместите нужный индекс внутри паренов, следуя eq

Или, если CD элементы живут только под CDs, и вы не беспокоитесь о получении неправильных:

$(xml).find("CD:eq(0)")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...