Могу ли я иметь только один индекс из выбранного события клика?
У меня проблемы с редактированием и удалением выбранных записей. Я думаю, что это ложь, что я получаю только один индекс.
Как я выбираю вещи:
$("#liste").click(function selectList (event) {
var target = $( event.target );
if ( target.is( "li" ) ) {
target.toggleClass('selected');
}
});
Проблема здесь:
$('.selected').attr("index");
Я получаю только первый индекс из выбранного элемента, но я хочу иметь все индексы для каждого выбранного элемента. По вопросам, связанным с этим вопросом, у меня есть специальная идея о функции редактирования или не стесняйтесь спрашивать!
1 ответ
Решение
attr()
как вы говорите, вернет атрибут из первого элемента соответствующего набора. Если вы хотите, чтобы все index
атрибуты из выбранных объектов, используйте map()
:
var indices = $('.selected').map(
function() {
return $(this).attr('index');
}
);
var indices = $('.selected').map(function() {
return $(this).attr('index');
});
console.log(indices);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="selected" index="one"></div>
<div class="selected" index="two"></div>
<div index="three"></div>
<div class="selected" index="four"></div>
<div index="five"></div>