$("div").each(function(){
var index_no = $(this).index();
console.log(index_no);
});
Я хочу получить самый низкий индекс, но я не могу этого сделать
$("div").each(function(){
var index_no = $(this).index();
console.log(index_no);
});
Я хочу получить самый низкий индекс, но я не могу этого сделать
Я хочу получить самый низкий индекс, но я не могу этого сделать
Конечно, можно: 0
Самый низкий индекс любого массива будет равен 0 в JavaScript.
Если у вас есть массив значений, вы можете получить min так:
var arr = [3,1,4];
Math.min.apply(Math, arr); // returns 1
Учитывая ваш пример кода (который вы должны включить в свой вопрос):
var indexes = [];
$("div").each(function(i){
if(!$(this).hasClass("lo")){
indexes[indexes.length]=i;
}
});
console.log("Matches: ", indexes);
console.log("Min: ", Math.min.apply(Math,indexes));
indexes[0]
вернет первое число в массиве.
- person vol7ron; 04.01.2015
Если вы посмотрите на документацию по jQuery, вы увидите, что функция each
предоставляет порядковый номер в функцию обратного вызова, которую вы передаете.
Кроме того, я не уверен, что понимаю, чего вы пытаетесь достичь с помощью своего кода, но разве самый низкий индекс коллекции не будет равен 0?
HTML
<p>index_0</p>
<div>index_1</div>
<div>index_2</div>
<p>index_3</p>
<p>index_4</p>
<div>index_5</div>
<div>index_6</div>
<div>index_7</div>
JS
var cnt = 0;
var idxArray = [];
$("div").each(function(){
var index_no = $(this).index();
idxArray[cnt] = index_no;
cnt++;
});
alert('The lowest index of DIV is [' + Math.min.apply(Math, idxArray) + ']');
Рабочий пример