У меня есть массив объектов $('selector')
, я хочу получить index()
каждого элемента и добавить его в html каждого элемента. Я могу получить индекс первого элемента, просто напишу $('selector').index()
, но как я могу получить другие, и добавить их к DOM-объектам. Помогите, я новичок в Javascript и jQuery.Получить индекс элемента в массиве jQuery
ответ
Попробуйте это ...
$("selector").each(function(i) {
$(this).html($(this).html() + " " + i);
});
i
будет индекс каждого выбранного элемента и будет добавлен в HTML.
Вот jsfiddle пример ...
Использование JQuery.each
:
$('selector').each(function(index) {
console.log(index);
});
Пример:
Html:
<div>My Div</div>
<div>My Div</div>
<div>My Div</div>
<div>My Div</div>
<div>My Div</div>
<div>My Div</div>
<div>My Div</div>
<div>My Div</div>
<div>My Div</div>
JS:
$('div').each(function(index){
var newHtml = $(this).html() + " - Index:" + index;
$(this).html(newHtml);
});
Выходные:
My Div - Index:0
My Div - Index:1
My Div - Index:2
My Div - Index:3
My Div - Index:4
My Div - Index:5
My Div - Index:6
My Div - Index:7
My Div - Index:8
Используйте .each(), чтобы выбрать каждый элемент, получить каждый индекс и добавить каждый индекс ко всем элементам, соответствующим селектору.
Вы можете передать функцию в метод jQuery .html()
. Эта функция будет удобно быть вызвана с двумя параметрами, индекс элемента и текущего HTML, так что вы хотите легко:
$elements.html(function(i, v){
return v + i;
});
Который даст вам index
относительно сделанного выбора. Если вы хотите, индекс относительно каждого элемента братьев и сестер, вам нужно будет .index()
:
$('ul li').html(function(_, v){
return v + $(this).index();
});
Очень приятно. Спасибо Джордж за «что-то новое» :) – Archer
@Archer Рад, что вы так думаете. Фактически, многие методы jQuery поддерживают функцию, передаваемую их версиям setter. – George
Да, я знал об этом, но это никогда не приходит в голову. Я не видел, чтобы это использовалось именно так, но мне это нравится! – Archer
Вы должны перебирать с помощью .each
Пример кода:
$("selector").each(function(i, v) {
$(this).append(i);
});
Я обновил свой код, пожалуйста, удалите отрицательную оценку. –
Просто цикл через они и итератор скажут вам, что это индекс.
var array = $('.someClass');
for(var i=0; i<array.length; i++){
console.log('Element #' + i + ': ' + $(array[i]).text());
}
Поделитесь вопросом, почему мой ответ неверен? – Dropout
Try:
$.each($('selector'), function() {
$(this)append($(this).index());
});
Вы можете также использовать эк:
$('selector').each(function(){
$(this).html('index for this html is ' + $(this).eq());
});
- 1. Индекс элемента jQuery в массиве
- 2. Получить индекс элемента в массиве
- 3. Получить индекс элемента в массиве в MongoDB
- 4. jQuery: индекс элемента в массиве, где предикат
- 5. Получить индекс элемента, используя индекс() в JQuery
- 6. jQuery: как получить индекс элемента в массиве выбора?
- 7. Получить индекс элемента в массиве разности
- 8. Получить индекс каждого элемента в массиве
- 9. Как получить индекс элемента в двумерном массиве?
- 10. Как получить индекс элемента в массиве?
- 11. Как получить индекс элемента в массиве
- 12. Как получить индекс элемента в массиве?
- 13. Получить индекс первого «элемента» в DataRow массиве
- 14. Как получить индекс элемента в массиве?
- 15. Как получить индекс элемента в массиве
- 16. java - получить индекс элемента в массиве [ошибка]
- 17. индекс наибольшего элемента в массиве
- 18. Как найти индекс элемента в массиве
- 19. получить индекс Jquery элемента «ТДА»
- 20. Индекс наивысшего элемента в массиве
- 21. Индекс элемента в массиве Numpy
- 22. Индекс элемента в массиве F #
- 23. Найти индекс элемента в массиве, созданный toArray в JS/JQuery
- 24. Jquery получить индекс типа элемента в родительском
- 25. как получить индекс элемента HTML в JQuery
- 26. Как получить индекс родительского элемента в jQuery
- 27. JQuery - получить индекс элемента, ограниченного в классе
- 28. Индекс элемента в массиве в Perl
- 29. индекс элемента в массиве, используя подстроку
- 30. Как найти индекс элемента Int в массиве?
Вы можете использовать [.each()] (http://api.jquery.com/each/) – Regent
Спасибо вам, ребята, я ценю вашу помощь) – nowiko