Есть массив, заполненный ячейками таблицы. Хочу, чтобы при клике на ту или иную ячейку мне возвращался её индекс в массиве. Но почему-то всегда возвращается -1. В чём здесь загвоздка?
var arr = [];
$('td').each(function(){
arr.push($(this));
});
$('td').click(function(){
console.log(arr.indexOf($(this)));
});
table {
border-collapse: collapse;
}
table td {
padding: 20px;
text-align: center;
vertical-align: middle;
border: 1px solid black;
}
Ответ
В вашем случае this - это элемент td. Замените $(this) на this
var arr = [];
$('td').each(function(){
arr.push(this);
});
$('td').click(function(){
console.log(arr.indexOf(this));
});
table {
border-collapse: collapse;
}
table td {
padding: 20px;
text-align: center;
vertical-align: middle;
border: 1px solid black;
}
Комментариев нет:
Отправить комментарий