Ответ 1
.find()
возвращает элементы в порядке документа. Подробнее здесь: http://docs.jquery.com/Release%3ajQuery_1.3.2
Я думаю, что аномалия имеет какое-то отношение к селекторам. Это необходимо? Удаление их, похоже, решает проблему.
Я использую метод jQuery find
, и это очень полезно.
Однако я столкнулся с примером, где find
, казалось, дублировал вещи и не возвращал элементы в том порядке, в котором они появились в документе. (Я не уверен, что поиск должен сделать это, я сомневаюсь).
Однако, он не должен иметь дубликатов в найденных элементах и не показывать неправильный порядок?
Полный пример можно найти здесь: jsFiddle - Обратите внимание, что диапазон [9] и диапазон [10] находятся в неправильном порядке и дублируется.
Почему это так?
Обновлено так, что вывод записывается в документ, пожалуйста, используйте новую ссылку выше.
.find()
возвращает элементы в порядке документа. Подробнее здесь: http://docs.jquery.com/Release%3ajQuery_1.3.2
Я думаю, что аномалия имеет какое-то отношение к селекторам. Это необходимо? Удаление их, похоже, решает проблему.
вы добавляете неиспользованный * в свой код, замените это нахождение кодом:
$('#div1').find("*[class=w_line_" + i + "]").each(function () {
и иметь это, хорошо провести время;
Я не могу найти ничего странного в заказе.
$(document).ready(function() {
for (var i = 1; i <= 10; i++) {
console.log(i);
$('#div1').find("*[class*=w_line_" + i + "]").each(function() {
console.log(i, $(this));
});
}
});
Этот селектор, кажется, возвращает элементы в том же порядке, что и ваш, и я не вижу никаких дубликатов.
$('#div1 *[class*=w_line_' + i + ']')